当前位置:首页 » 操作系统 » linuxdone

linuxdone

发布时间: 2022-05-11 09:23:19

A. 请问一个linux下的指令问题

1、for在shell中用于循环
常用格式
格式一
for 变量
do
语句
done
格式二
for 变量 in 列表
do
语句
done
格式三
for ((变量=初始值; 条件判断; 变量变化))
do
语句
done

比如:
for s in 1,2,4,5
do
echo $s
done

输出: 1 2 4 5

2、tar 中的-C 指定压缩或者解压文件的路径
for f in $(ls *.tar.gz); do tar -zxvf $f –C ../src-86; done

意思就是把当前目录下的所有gz压缩文件,解压到 ../src-86文件夹下面去

B. linux中while/do/done用法,

#!/bin/bash

echo "Enter password:"

read TRY

COUNTER=1

while [ "$COUNTER" -lt 5 -a "$TRY" != "secret" ]; do

echo "Here we go again"

COUNTER=$(($COUNTER+1))

read TRY

done

[ "$TRY" != "secret" ] && echo "error!"

C. linux可执行文件的运行命令

LS的,你的说法是不正确的,你对运行命令的认识不清楚。。。
比如说你想用ls命令查看当前目录,你当然可以直接使用ls,这是因为你的PATH的设置。抛开PATH,你可以使用/bin/ls,你可以试试,但肯定不会是“./bin/ls”的。

至于你说的"./路径/文件名",适用于要执行的文件相对于当前目录的某个位置。因为“.”的意思是当前目录

所以正确的说法是"/路径/文件名",也就是可执行文件的绝对路径,你说的情况算是这里面的一种。。。当然出现PATH之后,会出现执行命令的便捷方法,诸如以上说的ls就是这类情况。在使用者看来,用法不同,但实质是一样的。。

D. linux 获取文件名的问题

basename是最常用的,除此之外,Bash中还有个用字符串处理的方法(适用于bash):
for i in /var/html/*
do
echo $i #全路径名
echo ${i##*/} #文件名
done#表示去除从指定字符向前所有的字符;##表示最大匹配。
%表示去除从指定字符向后所有的字符;%%表示最大匹配。

E. 求助Uncompressing Linux.done,booting the kernel

内核启动卡在Uncompressing Linux..... done, booting the kernel.这好像是个老生常谈的问题了。成因在网上也罗列了很多种,可这次我碰到的,却没网络出解决方法,纠结了我很久才解决。
我先把造成Uncompressing Linux..... done, booting the kernel.的常见的几种可能再罗列一下
1、机器码不匹配
解决方法:在配置内核时开启debug
Kernel hacking -> Kernel low-level debugging functions 是打开的
Kernel hacking -> Kernel low-level debugging messages via S3C UART 也是打开的
在Device Drivers->Character devices->Serial drivers中选择加载Samsung SoC serial support ,然后再选上Support for console on Samsung SoC serial port 。
如果是机器码不匹配的问题,就会出现相关打印信息例如
Machine configuration botched (nr 182), unable to continue.
核对一下你的uboot机器码是否匹配。
如果不匹配,你可以修改uboot include/asm-arm/mach-types.h 文件中有关机器码的定义。或者修改内核 arch/arm/tools/mach-types 文件。
在新内核移植时有关机器码的修改步骤及分析如下:
修改机器码,机器码在2/arch/arm/mach-s3c2440/mach-test2440.c文件中MACHINE_START(TEST2440, "TEST2440")这一行定义的,第二个参数无所谓,重要的是第一个参数,在gcc编译这个mach-test2440.c的时候,会把TEST2440匹配到/include/asm-arm/mach-types.h中的"#define MACH_TYPE_TEST2440 N"这里, 如果在mach-types.h中找不到MACH_TYPE_TEST2440的定义, gcc编译mach-test2440.c则报错;
还有,/include/asm-arm/mach-types.h是每次make zImage过程中, 由arch/arm/tools/mach-types文件生成的,
总结,修改机器码,涉及内核代码的三个地方,MACHINE_START宏,mach-types.h,mach-types,初启动时,bootloader向内核传递一个机器码。

2、串口配置不正确
确保在配置内核时选上了在Device Drivers->Character devices->Serial drivers中选择加载Samsung SoC serial support ,然后再选上Support for console on Samsung SoC serial port 。
3、arch/arm/mach-s3c2440/Kconfig配置文件设置出错,某项关键选项没选上。
这个情况在网上不多见,但是一出错就会让人很纠结。如果芯片级或板级关键配置没选上或导致内核启动进入start_kernel函数之前就进入死循环。如果芯片级的配置没选上,会在内核执行完cpu id号匹配函数__lookup_processor_type()后进入死循环,这种情况你无论怎么配置内核的debug,串口都不会再有打印信息输出了。只有点个灯之类的才能跟踪代码的执行。
这种情况往往在打印Uncompressing Linux..... done, booting the kernel后就无任何输出了,即便你配置了debug。
我碰到这种情况是因为我在arch/arm/mach-s3c2440/Kconfig 上没有select ARCH_S3C2440。
导致Uncompressing Linux..... done, booting the kernel 卡住的大致就这几种情况。

F. 在linux中 “# for i in `ls` ; do su -sh $i ; done ”命令是什么意思

首先 在命令前面有个 '#'的意思是本句话是注释,并不实际执行...
再说你后面语句的意思,for ... in .... ; done是循环结构,ls是查看目录下的文件,su是以另一个身份($i),来运行一个shell,但问题是su 没有-sh选项,也就是说你这句话应该有问题才对.
整体分析是遍历将当前目录下的文件,每个文件执行su -sh XXX(这里XXX是当前目录下的所有文件),功能尚不明确,还请楼主明示.

G. linux服务器down了怎么办

Linux关闭和重启系统一般使用相同的命令可以实现。
在Linux系统下常用在关机/重启命令有shutdown、halt、reboot和init,但每个命令的内部工作过程是不同的。
1.shutdown命令
Shutdown命令可以安全地关闭系统,有些用户会使用直接断电源的方式来关闭计算机,这是十分危险的。Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,在有的系统中甚至会损坏硬件设备。
如果在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login命令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的,还可能重启。
shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,此参数可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。
(1)语法
shutdown [选项] [时间] [警告信息]
(2)选项说明
-k:并不真正关机,只是发出警告信息给所有用户
-r:关机后立即重新启动
-h:关机后不重新启动
-f:快速关机,重启动时跳过fsck
-n:快速关机,不经过init程序
-c:取消一个已经运行的shutdown[-time]:设定关机前的时间
(3)例:立即关闭系统
#shutdown –h now
(4)例:定时45min后关闭系统
#shutdown –h 45
(5)例:重新启动系统,并发出警告信息
#shutdown –r now“system will be reboot now!”
2.halt命令
其实halt命令就是调用“shutdown-h”命令执行的。
(1)语法
halt [选项]
(2)选项说明
-c:防止sync系统调用,它用在fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块
-w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)记录
-d:不写wtmp记录(已包含在选项[-n]中)
-f:没有调用shutdown而强制关机或重启-I:关机(或重启)前,关掉所有的网络接口
-p:
该选项为缺省选项,即关机时调用poweroff
(3)例:使用halt命令关机
#halt
Broadcast message from root(pts/4)….
The system is going down for system halt now!
3.reboot命令
Reboot的工作过程与halt相似,不过reboot是引发主机重启,而halt是引发主机关机。它的参数与halt相似。
(1)例:使用reboot命令重启计算机
#reboot
Broadcast message from root(pts/4)….
The system is going down for system reboot now!
4.init命令
Init是所有进程的祖先,它的进程号始终为1,所以发送TREM信号给init会终止所有的用户进程和守护进程等。shutdown就是使用这种机制。init定义了7个运行级别,其中init0为关机,init为重启。

热点内容
unturned怎么不进服务器联机 发布:2024-10-09 07:24:17 浏览:393
javaoracle 发布:2024-10-09 07:23:32 浏览:560
安卓系统总是被杀后台怎么办 发布:2024-10-09 07:11:31 浏览:305
花雨庭服务器如何全屏 发布:2024-10-09 06:39:28 浏览:214
密码查看器怎么使用 发布:2024-10-09 06:38:55 浏览:496
sqlrownum 发布:2024-10-09 06:28:53 浏览:384
F模块驱动器编译错误 发布:2024-10-09 06:06:21 浏览:636
脚本亚索集锦 发布:2024-10-09 05:53:30 浏览:877
安卓手机格式化后为什么打不开 发布:2024-10-09 05:52:58 浏览:511
云服务器可以超级计算机吗 发布:2024-10-09 05:51:33 浏览:17