linux执行shell文件中的命令|linux操作系统的shell命令有哪些

linux执行shell文件中的命令|linux操作系统的shell命令有哪些的第1张示图

㈠ 在linux执行shell脚本的命令是什么

如果你shell脚本名字是a.sh你可以 sh a.sh 或者 . ./a.sh

㈡ 如何运行linux shell程序

如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,再加深复习一下。1 source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限" 注:该命令通常用命令“.”来替代。 如:source .bash_profile . .bash_profile两者等效。 source(或点)命令通常用于重新执行刚修改的初始化文档。 source命令(从 C Shell 而来)是bash shell的内置命令。 点命令,就是个点符号,(从Bourne Shell而来)。 source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效2 sh, bash的命令用法: sh/bash FileName 作用:打开一个子shell来读取并执行FileName中命令。该filename文件可以无"执行权限" 注:运行一个shell脚本时会启动另一个命令解释器. 每个shell脚本有效地运行在父shell(parent shell)的一个子进程里. 这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程. shell脚本也可以启动他自已的子进程. 这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务. 在ubuntu中sh只是bash的一个链接。 由于是在子shell中执行,脚本设置的变量不会影响当前shell。3 ./的命令用法: ./FileName 作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要"执行权限" 注:运行一个shell脚本时会启动另一个命令解释器. 每个shell脚本有效地运行在父shell(parent shell)的一个子进程里. 这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程. shell脚本也可以启动他自已的子进程. 这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务. 由于是在子shell中执行,脚本设置的变量不会影响当前shell。 4 export: 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本5. 举例比如您在一个脚本里export $KKK=111 ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK ,发现没有值,假如您用source来执行 ,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是 source不同他就是在本shell中执行的,所以能够看到结果.小测试1 建立test.sh #!/bin/bash export s=/home/jboss/2 执行命令: source test.sh echo $s 结果输出: /home/jboss/3 新开个shell 执行命令: ./test.sh echo $s 结果: 没有输出s值结论:1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出。2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。3、不用 export定义的变量只对该shell有效,对子shell也是无效的。直接执行一个脚本文件是在一个子shell中运行的,而source则是在当前shell环境中运行的。source可以让脚本影响它们的父shell环境,这和export去影响子shell环境相反.

㈢ Linux中shell命令相关问题求助大佬

Linux Shell常用shell命令一、文件、目录操作命令1、ls命令功能:显示文件和目录的信息ls以默认方式显示当前目录文件列表ls -a 显示所有文件包括隐藏文件ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)ls -lt 显示文件,按照修改时间排序2、cd命令功能:改名目录cd dir切换到当前目录下的dir目录cd /切换到根目录cd ..切换到到上一级目录cd ../..切换到上二级目录cd ~切换到用户目录,比如是root用户,则切换到/root下根目录与家目录的区别:根目录是系统的一级文件结构,家目录只是非root用户控制目录。相当于windows我的文档,非root用户只能完会控制家目录的文件,不能控制根目录下其它的文件。根目录是设备的最顶层目录,用 / 表示家目录是每个用户登录系统后所在的目录,通常在 /home 下,以用户名作为目录,可以用 ~ 表示。cd / 进入根目录cd ~/ 进入家目录当然,也可以用 /home/someone 进入someone的家目录 3、cp命令功能:文件cp source target将文件source复制为targetcp /root /source .将/root下的文件source复制到当前目录eg:cp /home/open_038_dev/external_files/test/test.sh .cp –av soure_dir target_dir将整个目录复制,两目录完全一样4、rm命令功能:删除文件或目录rm file删除某一个文件rm -f file 删除时候不进行提示。可以于r参数配合使用rm -rf dir删除当前目录下叫dir的整个目录5、mv命令功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令mv source target将文件source更名为target命令参数:-b :若需覆盖文件,则覆盖前先行备份。-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!-u :若目标文件已经存在,且 source 比较新,才会更新(update) -t : –target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。实例一:文件改名命令:mv test.log test1.txt实例二:移动文件命令:mv test1.txt test3将文件log1.txt,log2.txt,log3.txt移动到目录test3中。mv log1.txt log2.txt log3.txt test3将文件log1.txt log2.txt log3.txt异动到/opt/soft/test/test4目录下mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt移动当前文件夹下的所有文件到上一级目录mv * ../6、diff功能:比较文件内容diff dir1 dir2比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出diff file1 file2比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的comm file1 file2比较文件,显示两个文件不相同的内容7、ln命令功能:建立链接。windows的快捷方式就是根据链接的原理来做的ln source_path target_path 硬连接ln -s source_path target_path 软连接ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/lesshttp://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html二、查看文件内容命令1、cat命令显示文件的内容,和DOS的type相同cat file2、more命令功能:分页显示命令morefilemore命令也可以通过管道符(|)与其他的命令一起使用,例如:ps ux|morels|more3、tail 命令功能:显示文件的最后几行tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行4、vi命令vi file编辑文件filevi 原基本使用及命令:输入命令的方式为先按[ESC]键,然后输入:w(写入文件),:w!(不询问方式写入文件),:wq保存并退出,:q退出,q!不保存退出5、touch命令功能:创建一个空文件touch aaa.txt 创建一个空文件,文件名为aaa.txt三、基本系统命令1、man命令功能:查看某个命令的帮助,如果你不知道某个命令的用法不懂,可以问他,他知道就回告诉你例如:man ls 显示ls命令的帮助内容2、w命令功能:显示登录用户的详细信息例如:Sarge:~# w22:06:51 up 43 min, 1 user, load average: 0.00, 0.00, 0.00USER TTY FROM [email protected] IDLE JCPU PCPU WHATzhoulj pts/0 10.140.0.109 21:24 0.00s 0.85s 0.09s sshd: zhoulj [priv]3、who命令功能:显示登录用户例如:Sarge:~# whozhoulj pts/0 Mar 13 21:24 (10.140.0.109)4、last命令功能:查看最近那些用户登录系统例如:Sarge:~# lastzhoulj pts/0 10.140.0.109 Mon Mar 13 21:24 still logged in reboot system boot 2.6.8-2-386 Mon Mar 13 21:23 (00:43) zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 – down (00:00) zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 – 22:51 (00:00) root tty1 Sun Mar 12 22:50 – down (00:01) root tty1 Sun Mar 12 22:46 – 22:48 (00:02) root tty1 Sun Mar 12 22:43 – 22:46 (00:02) reboot system boot 2.6.8-2-386 Mon Mar 13 06:34 (-7:-41) wtmp begins Mon Mar 13 06:34:11 20065、date命令功能:系统日期设定date显示当前日期时间date -s 20:30:30设置系统时间为20:30:30date -s 2002-3-5设置系统时期为2003-3-5date -s "060520 06:00:00"设置系统时期为2006年5月20日6点整。6、clock命令功能:时钟设置clock –r对系统Bios中读取时间参数clock –w将系统时间(如由date设置的时间)写入Bios7、uname命令功能:查看系统版本uname -R显示操作系统内核的version例如:Sarge:~# uname -aLinux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux8、关闭和重新启动系统命令reboot 重新启动计算机shutdown -r now 重新启动计算机,停止服务后重新启动计算机shutdown -h now 关闭计算机,停止服务后再关闭系统halt 关闭计算机一般用shutdown -r now,在重启系统是,关闭相关服务,shutdown -h now也是如此。9、su命令功能:切换用户su – 切换到root用户su – zhoulj 切换到zhoulj用户,注意:- ,他很关键,使用-,将使用用户的环境变量http://man.linuxde.net/su四、监视系统状态命令1、top命令功能:查看系统cpu、内存等使用情况2、free命令功能:查看内存和swap分区使用情况例如:Sarge:~# free -tm total used free shared buffers cachedMem: 187 42 145 0 6 16-/+ buffers/cache: 19 167Swap: 243 0 243Total: 430 42 3883、uptime功能:现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载例如:Sarge:~# uptime21:54:46 up 31 min, 1 user, load average: 0.00, 0.00, 0.004、vmstat命令功能:监视虚拟内存使用情况例如:# vmstatprocs memory swap io system cpur b swpd free buff cache si so bi bo in cs us sy id wa1 0 0 63704 8100 32272 0 0 8 3 103 17 0 1 98 15、ps命令功能:显示进程信息ps ux 显示当前用户的进程ps uxwww 显示当前用户的进程的详细信息ps aux 显示所有用户的进程ps ef 显示系统所有进程信息6、kill命令功能:干掉某个进程,进程号可以通过ps命令得到kill -9 1001将进程编号为1001的程序干掉kill all -9 apache将所有名字为apapche的程序杀死,kill不是万能的,对僵死的程序则无效。五、磁盘操作命令1、df命令功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。参数 功能-a 列出全部目录-Ta 列出全部目录,并且显示文件类型-B 显示块信息-i 以i节点列出全部目录-h 按照日常习惯显示(如:1K、100M、20G)-x [filesystype] 不显示[filesystype]例如:# df -ThFilesystem Type Size Used Avail Use% Mounted on/dev/sda1 ext3 265M 64M 187M 26% /tmpfs tmpfs 94M 0 94M 0% /dev/shm/dev/sda6 ext3 714M 8.1M 667M 2% /home/dev/sda8 ext3 956M 215M 691M 24% /usr/dev/sda7 ext3 714M 57M 619M 9% /var2、命令功能:检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间。参数 功能-s [dirName] 显示目录占用总空间-sk [dirName] 显示目录占用总空间,以k为单位-sb [dirName] 显示目录占用总空间,以b为单位-sm [dirName] 显示目录占用总空间,以m为单位-sc [dirName] 显示目录占用总空间,加上目录统计-sh [dirName] 只统计目录大小例如:# -sh /etc1.3M /etc3、mount命令功能:使用mount命令就可在Linux中挂载各种文件系统。格式:mount -t 设备名 挂载点(1)、mount /dev/sda1 /mnt/filetestmount -t vfat /dev/hda /mnt/fatfilemount -t ntfs /dev/hda /mnt/ntfsfilemount -t iso9660 /dev/cdrom /mnt/cdrommount -o 设备名 挂载点(2)、使用usb设备modprobe usb-storagemkdir /mnt/usbmount -t auto /dev/sdx1 /mnt/usbumount /mnt/usb4、mkswap命令功能:使用mkswap命令可以创建swap空间,如:debian:~# mkswap -c /dev/hda4debian:~# swapon /dev/hda4 #启用新创建的swap空间,停用可使用swapoff命令5、fdisk命令功能:对磁盘进行分区fdisk /dev/xxx 格式化xxx设备(xxx是指磁盘驱动器的名字,例如hdb,sdc)fdisk -l 显示磁盘的分区表6、mkfs命令功能:格式化文件系统,可以指定文件系统的类型,如ext2、ext3、fat、ntfs等格式1:mkfs.ext3 options /dev/xxx格式2:mkfs -t ext2 options /dev/xxx参数 功能-b 块大小-i 节点大写-m 预留管理空间大小例如:debian:~#mkfs.ext3 /dev/sdb17、e2fsck命令功能:磁盘检测e2fsck /dev/hda1检查/dev/hda1是否有文件系统错误,提示修复方式e2fsck -p /dev/hda1检查/dev/hda1是否有错误,如果有则自动修复e2fsck -y /dev/hda1检查错误,所有提问均于yes方式执行e2fsck -c /dev/hda1检查磁盘是否有坏区8、tune2fs命令功能:调整ext2/ext3文件的参数参数 功能-l 查看文件系统信息-c 设置强制自检的挂载次数-i 设置强制自检的间隔时间,单位天-m 保留块的百分比-j 将ext2文件系统转换成ext3格式# tune2fs -l /dev/sda19、dd命令功能:功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。跟DOS下的disk命令的作用类似。dd if=/dev/fd0 of=floppy.img将软盘的内容复制成一个镜像dd if=floppy.img of=/dev/fd0将一个镜像的内容复制到软盘,做驱动盘的时候经常用。六、用户和组相关命令1、groupadd命令功能:添加组groupadd test1 添加test1组groupadd -g 1111 test2 添加test2组,组id为11112、useradd命令功能:添加用户useradd user1 添加用户user1,home为/home/user1,组为user1useradd -g test1 -m -d /home/test1 test1 添加用户test1,home为/home/test1,组为test1user list显示已登陆的用户列表3、passwd命令功能:更改用户密码passwd user1修改用户user1的密码passwd -d root将root用户的密码删除4、userdel命令功能:删除用户userdel user1删除user1用户5、chown命令功能:改变文件或目录的所有者chown user1 /dir将/dir目录设置为user1所有chown -R user1.user1 /dir将/dir目录下所有文件和目录,设置为user1所有,组为user1。-R递归到下面的每个文件和目录6、chgrp命令功能:改变文件或目录的所有组chgrp user1 /dir将/dir目录设置为user1所有7、chmod命令功能:改变用户的权限chmod a+x file将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行chmod 666 file将文件file设置为可读写chmod 750 file 将文件file设置为,所有者为完全权限,同组可以读和执行,其他无权限8、id命令功能:显示用户的信息,包括uid、gid等# id zhouljuid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)9、finger命令功能:显示用的信息注意:debian下没有该命令。# finger zhouljLogin: zhoulj Name:Directory: /home/zhoulj Shell: /bin/bashOn since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4No mail.No Plan.七、压缩命令1、gzip格式命令功能:压缩文件,gz格式的注意:生成的文件会把源文件覆盖gzip -v 压缩文件,并且显示进度-d 解压缩gunzip -f 解压缩例如:# gzip a.sh#ll-rwxr-xr-x 1 root root 71 12月 18 21:08 a.sh.gz# gzip -d a.sh.gz#ll-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh2、zip格式命令功能:压缩和解压缩zip命令zip unzip 例如:将/home/Blinux/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip:zip -q -r html.zip /home/Blinux/html(-q:不显示指令执行过程 -r:递归处理,将指定目录下的所有文件和子目录一并处理)# zip a.sh.zip a.sh adding: a.sh (stored 0%)# ll-rw-r–r– 1 root root 188 5月 21 10:37 a.sh.zip# unzip a.sh.zipArchive: a.sh.zipreplace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: rnew name: a1.shextracting: a1.sh # ll-rwxr-xr-x 1 root root 48 12月 18 21:08 a1.sh3、bzip2根式命令功能:bzip2格式压缩命令,注意:生成的文件会把源文件覆盖bzip2 bunzip2例如:# bzip2 a.sh# ll-rwxr-xr-x 1 root root 85 12月 18 21:08 a.sh.bz2# bunzip2 a.sh.bz2# ll-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh4、tar命令功能:归档、压缩等,比较重要,会经常使用。-cvf 压缩文件或目录-xvf 解压缩文件或目录-zcvf 压缩文件或,格式tar.gz-zxvf 解压缩文件或,格式tar.gz-zcvf 压缩文件或,格式tgz-zxvf 解压缩文件或,格式tgz举例:# tar cvf abc.tar *.sh# tar xvf abc.tar# tar czvf abc.tar.gz *.sh# ll-rw-r–r– 1 root root 20480 5月 21 10:50 abc.tar-rw-r–r– 1 root root 1223 5月 21 10:53 abc.tar.gz# tar xzvf abc.tar.gz 八、网络相关命令1、ifconfig命令功能:显示修改网卡的信息ifconfig 显示网络信息ifconfig eth0 显示eth0网络信息修改网络信息:ifconfig eth0 192.168.1.1 netmask 255.255.255.0 设置网卡1的地址192.168.1.1,掩码为255.255.255.0ifconfig eth0:1 192.168.1.2 捆绑网卡1的第二个地址为192.168.1.2ifconfig eth0:x 192.168.1.n 捆绑网卡1的第n个地址为192.168.1.n例如:# ifconfig eth0:1 192.168.1.11# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24 inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4220 errors:0 dropped:0 overruns:0 frame:0 TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:342493 (334.4 Kb) TX bytes:469020 (458.0 Kb) Interrupt:9 Base address:0x1400eth0:1 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24 inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:9 Base address:0x14002、route命令功能:显示当前路由设置情况route 显示当前路由设置情况,比较慢一般不用。route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由route add default gw 192.168.1.1 metric1 设置192.168.1.1为默认的路由route del default 将默认的路由删除举例:# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254# netstat -nrKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth010.0.0.0 192.168.1.254 255.255.0.0 UG 0 0 0 eth0169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth00.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 # netstat -nrKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth00.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth03、netstat命令功能:显示网络状态netstat -an 查看网络端口信息netstat -nr 查看路由表信息,比route快多了,4、启动网络的命令redhat族的命令:/etc/init.d/networkdebian命令:/etc/init.d/networking例如:/etc/init.d/network stop 停止网络,/etc/init.d/network start 启动网络,5、手工修改网络配置(1)、debian系统配置文件位置为:/etc/network/interfaces# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0 eth1iface eth0 inet static address 10.4.5.6 netmask 255.255.255.0 network 10.4.5.0 broadcast 10.4.5.255iface eth1 inet static address 219.25.5.60 netmask 255.255.255.192 network 219.25.5.0 broadcast 219.25.5.63 gateway 219.25.5.30修改后保存配置后,运行/etc/init.d/networking restart网络配置就改变了(2)、redhat系统配置文件位置为:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticBROADCAST=192.168.1.255IPADDR=192.168.1.5NETMASK=255.255.255.0NETWORK=192.168.1.0GATEWAY=192.168.1.254ONBOOT=yesTYPE=Ethernet修改后保存配置后,运行/etc/init.d/network restart或者service network restart网络配置就改变了。默认DNS的文件的位置为:/etc/resolv.conf #cat /etc/resolv.confsearch test.com.cnnameserver 192.168.1.116、网络排错(1)、ping命令功能:不说了,不知道就用干这行了。ping(2)、traceroute命令功能:路由跟踪traceroutetraceroute 207.68.173.7(3)、nslookup命令功能:域名解析排错例如:$ nslookupNote: nslookup is deprecated and may be removed from future releases.Consider using the `dig' or `host' programs instead. Run nslookup withthe `-sil[ent]' option to prevent this message from appearing.>Server: 192.168.1.11Address: 192.168.1.11#53Non-authoritative answer:Name: Address: 202.118.66.66> server 202.118.66.6Default server: 202.118.66.6Address: 202.118.66.6#53>Server: 202.118.66.6Address: 202.118.66.6#53Non-authoritative answer: canonical name =.Name: Address: 202.108.22.5九、其他命令1、ssh命令功能:远程登陆到其他UNIX主机ssh -l user1 192.168.1.2 使用用户名user1登陆到192.168.1.2ssh 使用用户名user1登陆到192.168.1.22、scp命令功能:安全例如:scp abc.tar.gz:~ 将本地的abc.tar.gz 复制到 192.168.1.5的user1用户的根(/home/user1)下。3、telnet命令功能:登陆到远程主机例如:telnet 192.168.1.5————————————————版权声明:本文为CSDN博主「Sunshine~L&H」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/LH0912666/article/details/87897629

㈣ linux执行sh脚本的指令有哪些

bash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码代码如下:cd /data/shell./hello.sh./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。方法二:以绝对路径的方式去执行bash shell脚本:复制代码代码如下:/data/shell/hello.sh方法三:直接使用bash 或sh 来执行bash shell脚本:复制代码代码如下:cd /data/shellbash hello.sh或复制代码代码如下:cd /data/shellsh hello.sh注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊,呵呵……。方法四:在当前的shell环境中执行bash shell脚本:复制代码代码如下:cd /data/shell. hello.sh或复制代码代码如下:cd /data/shellsource hello.sh前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。

㈤ 求助:LINUX常用SHELL命令

LINUX常用命令1 文件与目录操作命令1.1文件内容查询命令 grep、fgrep、egrepCODE:[Copy to clipboard]语法:grep[选项][查找模式][文件名1,文件名2,……]选项:QUOTE:-E 每个模式作为一个扩展的正则表达式对待-F 每个模式作为一组固定字符串对待,而不作为正则表达式-i 比较时不区分大小写-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;-x 只显示整行严格匹配的行1.2文件查找命令 find、locate语法:CODE:[Copy to clipboard]find 起始目录 寻找条件 操作以名称和文件属性查找QUOTE:-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[]。-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[]。-gid n 查找属于ID号为n的用户组的所有文件。-uid n 查找属于ID号为n的用户的所有文件。-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。-user‘字串‘ 查找属于用户名为所给字串的所有的文件。-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[]。-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。-type x 查找类型为 x的文件,语法:locate 相关字1.3文件的复制、删除和移动命令文件复制命令CODE:[Copy to clipboard]cp [选项] 源文件或目录 目标文件或目录选项:QUOTE:- a 通常在拷贝目录时使用-d 拷贝时保留连接-f 删除已经存在的目标文件而不提示-i 和f选项相反-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;-l 不作拷贝,只是链接文件文件移动命令CODE:[Copy to clipboard]mv[选项] 源文件或目录 目标文件或目录QUOTE:-i 交互式操作 -f 禁止交互式操作文件删除命令CODE:[Copy to clipboard]rm[选项] 文件…QUOTE:-f 忽略不存在的文件,从不给出提示-r 指示rm将参数中列出的全部目录和子目录均递归地删除-i 进行交互式删除1.4文件链接命令CODE:[Copy to clipboard]ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录QUOTE:选项:- s 建立符号链接1.5目录的创建和删除命令mkdir 创建一个目录语法:CODE:[Copy to clipboard]mkdir [选项] dirname选项:- m 对新建目录设置存取权限-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。rmdir 删除空目录 语法:CODE:[Copy to clipboard]rmdir [选项] dirnameQUOTE:选项: – p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。1.6改变工作目录,显示目录内容命令1、改变工作目录:CODE:[Copy to clipboard]cd [directory]2、显示当前工作的目录的绝对路径:CODE:[Copy to clipboard]pwd3、显示目录内容:CODE:[Copy to clipboard]ls [选项] [目录或是文件]QUOTE:选项:- a 显示指定目录下所有子目录与文件,包括隐藏文件;-c 按照文件的修改时间排序-C 分成多列显示各项-d 如果参数是目录,只显示其名称而不显示其下的个文件-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。-l 以长格式来显示文件的详细信息-L 若指定的名称为一个符号链接,则显示链接所指向的文件-t 显示时按修改时间而不是名字排序-u 显示时按文件上次存取的时间而不是名字排序4、改变文件或目录的访问权限命令CODE:[Copy to clipboard]chmod [who] [+| – | = ] [mode] 文件名?QUOTE:Who选项:- u表示用户,即文件和目录的所有者-g表示同组用户-o(other)表示其他用户-a (all)表示所有用户QUOTE:操作符号:+ 添加某个权限 – 取消某个权限= 赋予给定权限并取消其他所有的权限(如果有的话)QUOTE:mode 选项:- r 可读-w 可写-x 可执行CODE:[Copy to clipboard]chgrp [-R] group filename? 改变目录或文件所属的组CODE:[Copy to clipboard]chown [-Rv] 用户或组 文件1.7备份与压缩命令1、tar命令 为文件和目录创建档案语法:CODE:[Copy to clipboard]tar [主选项+辅助选项] 文件或者目录QUOTE:u 主选项c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项r 把要存档的文件追加到档案文件的末尾t 列出档案文件的内容,查看已经备份了哪些文件;u 更新文件x 从档案文件中释放文件;u 辅助选项b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20f 使用档案文件或设备,这个选项通常是必选的k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;m 在还原文件时,把所有文件的修改时间设定为现在;M 创建多卷的档案文件,以便在几个磁盘中存放;v 详细报告tar处理的文件信息w 每一步都要求确认z 用gzip来压缩/解压缩文件2、gzip命令 压缩/解压缩命令语法:CODE:[Copy to clipboard]gzip [选项] 压缩(解压缩)的文件名QUOTE:选项:-c 将输出写到标准输出上,并保留原有文件-d 将压缩文件解压-l 显示每个压缩文件的详细信息-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩-t 测试、检查压缩文件是否完整-v 对每一个压缩和解压的文件,显示文件名和压缩比3、unzip 命令 用MS windows下的压缩软件winzip压缩的文件在linux系统下展开语法:CODE:[Copy to clipboard]unzip [选项] 压缩文件名.zipQUOTE:选项: -x 文件列表 解压缩文件,但不包括指定的file文件-v 查看压缩文件目录,但不解压-t 测试文件有无损坏 ,但不解压-d 目录 将压缩文件解到指定目录下-z 只显示压缩文件的注解-n 不覆盖已经存在的文件-o 覆盖已经存在的文件且不要求用户确认-j 不重建文档的目录结构,把所有文件解压到同一目录下1.8在LINUX环境下运行DOS命令linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。QUOTE:mcd 目录名 改变MSDOS目录m 源文件 目标文件 在MSDOS和UNIX之间复制文件;mdel 目录名 删除MSDOS目录mdir 目录名 显示MSDOS目录mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统rnlabel 驱动器号 产生MSDOS卷标mmd 目录名 删除MSDOS目录mren 源文件 目标文件 重新命名已存在的MSDOS文件mtype 文件名 显示MSDOS文件的内容2 设备管理命令1)linux采用下面的形式定义一个IDE硬盘:CODE:[Copy to clipboard]/dev/hd[drive][partition]2)SCSI硬盘使用同样的机制表示:CODE:[Copy to clipboard]/dev/sd[drive][partition]3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下:CODE:[Copy to clipboard]mk2fs –c <partition>; <size>;4)装载文件系统:CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont其中,QUOTE:-t为指定装载文件系统的类型;-o指定一些选项,如只读ro,可读可写rw等等;partition定义分区名称;mountpiont定义文件系统被装载的目录名称。5)装载CD-ROM文件系统:CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom6)装载软驱文件系统:CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy7)卸载文件系统CODE:[Copy to clipboard]umount /mnt/cdrom磁带设备的安装要注意以下几点:QUOTE:1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置2、 选择驱动程序。3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)用 ls /dev/*rst* 检查磁带设备文件是否存在,如果不存在,用mknod –m 666 /dev/nrst0 c 9 9mknod –m 666 /dev/rst0 c 9 0 生成4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如mt setblk 20 将块长度指定为20mt setblk 0 指定块程度没有限制5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息:aha274x:target 4now synchronous at 4.4Mb/sVendor:TANDBERG Model:TDC 3800 Rev: =05:Type: Sequential-Access ANSI SCSI revision: 02Detected scsi tape st0 at scsi0, id4, lun0Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total3 软件包管理命令3.1软件安装的步骤在LINUX系统上安装软件的步骤有:QUOTE:1、 查找所要安装软件的源文件2、 把源文件解开放到一个目录中,命令如下:tar zxvf <源文件名>;3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure4、 make源文件,通常是运行make命令,即执行 make5、 安装二进制文件和其他支撑文件,运行命令: make install6、 最后,完成所有其他必须的配置3.2软件包管理命令QUOTE:rpm –ivh <软件包>;// 安装指定的软件包,并在安装过程中用#表示安装的进度rpm –Uvh <软件包>;// 更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。rpm –e //卸载一个rpm软件包rpm –qa// 查看系统中已经安装的软件包rpm –q <软件包>;// 查看系统中某个软件包的版本号;rpm –qlp <软件包>;//列出某个软件包中的所有文件rpm –qf <软件包>;//找出一个文件属于哪个软件包4 LINUX系统常用命令4.1 与系统管理有关的命令Wall (Write All)QUOTE:对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入:# wall < FileName例:Wall ‘Thank you !’Write向某一用户发送信息。Write xxqhello输入Ctrl+C组合即可终止Shutdown命令CODE:[Copy to clipboard]Shutdown [选项] [时间] [警告信息]QUOTE:-k 并不真正关机,而只是发出警告信息给所有的用户。-r 关机后立即重新启动。-h 关机后不重新启动。-f 快速关机,启动时跳过fsck。-n快速关机,不经过init程序。-c 取消一个已经运行的shutdown例:系统马上关机:Shutdown –h nowFree命令查看当前系统内存的使用情况,CODE:[Copy to clipboard]Free [-b] [-k] [-m]CODE:[Copy to clipboard]-b 以字节为单位显示。-k 以K字节为单位显示。-m 以M字节为单位显示。UptimeQUOTE:显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。4.2与用户有关的命令Passwd命令设置、更换用户口令。CODE:[Copy to clipboard]Passwd [用户名]Su使一个普通的用户具有超级用户的权利,离开可用EXIT命令。4.3其它命令Echo命令在显示器上显示一段文字,一般起到一个提示的作用。CODE:[Copy to clipboard]echo [-n] 字符串Cal命令显示某年某月的日历。CODE:[Copy to clipboard]cal [选项] [月[年]]QUOTE:选项的含义:-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。-y 显示也整年的日历。Date命令date命令的功能是显示和设置系统日期和时间。4.4磁盘管理磁盘空间管理df命令检查文件系统的磁盘空间占用局部。CODE:[Copy to clipboard]Df [选项]QUOTE:-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。-k 以K字节为单位显示。-i 显示i节点信息,而不是磁盘块。- t 显示各指定类型的文件系统的磁盘空间使用情况。-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反)。-T 显示文件系统类型。命令的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文件)所占磁盘空间的大小。CODE:[Copy to clipboard] [选项] [Names…]QUOTE:-s 对每人Names 参数只给也占用的数据块总数。-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数。-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)-k 以1024字节为单位列也磁盘空间使用情况。-c 最后再加上一个总计(系统缺省)-l 计算所有的文件大小,对硬链接文件,则计算多次。-x 跳过在不同文件系统上的目录不予统计。dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法:CODE:[Copy to clipboard]dd 〔选项〕QUOTE:if =输入文件(或设备名称)。of =输出文件(或设备名称)。ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。skip = blocks 跳过读入缓冲区开头的ibs*blocks块。obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。cbs = bytes 一次转换bytes字节。count = blocks 只拷贝输入的blocks块。conv = ASCII 把EBCDIC码转换为ASCII码。conv = ebcdic 把ASCII码转换为EBCDIC码。conv = ibm 把ASCII码转换为alternate EBCDIC码。conv = blick 把变动位转换成固定字符。conv = ublock 把固定们转换成变动位conv = ucase 把字母由小写变为大写。conv = lcase 把字母由大写变为小写。conv = notrunc 不截短输出文件。conv = swab 交换每一对输入字节。conv = noerror 出错时不停止处理。conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。fdformat命令低级格式化软盘。CODE:[Copy to clipboard]format [-n] deviceQUOTE:-n 格式化后不做检验4.5常用的网络命令FTP命令Telnet命令。Netstat命令QUOTE:-a 显示所有的scoket,包括正在监听和。-c 每隔1秒就重新显示一遍,直到用户中断它。-i 显示所有网络接口的信息,格式同”ifconfig –e”-n 以网络IP地址代替名称,显示也网络连接情形。-r 显示核心路由表,格式同”route –e:。-t 显示TCP协议的连接情况。-u 显示UDP协议的连接情况。-v 显示正在进行的工作。nslookup命令。finger命令,功能是查询用户的信息。ping命令。(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)4.6有关进程的命令。进程和启动CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]时间at –c 作业 [作业….]AT命令启动的进程系统只执行一次。batch [-V] [-q 队列] [-f 文件名] [-mv] [时间]在系统负载较小时,资源比较空闲时执行。cron命令按一定的时间间隔执行命令。crontab命令用于安装、删除或列出用于驱支cron后台进程的表格。进程查看CODE:[Copy to clipboard]who命令。w命令是一个比who命令更强大的命令w –[husfV] [user]-h 不显示标题。-u 当列出当前进程和CPU时间时忽略用户名。-s 使用短模式。不显示登录时间JCPU和PCPU时间。-f 切换显示FROM项,也就是远程主机名项。-V 显示版本信息。user 只显示指定用户的情况。ps命令。-e 显示所有进程。-f 全格式-h 不显示标题。-l 长格式。-w 宽输出。a 显示终端上所有进程,包括其他用户的进程。r 只显示正在运行的进程。x 显示没有控制终端的进程。top 命令动态显示系统当前的进程和其他状况。5系统的启动过程。5.1初始启动在PC机启动时,BIOS从指定的启动设备中读入“主引导记录”(MBR)。MBR的格式是:地址偏移量 内容 大小+00 h 可执行的代码(启动模块) 可能变化+1BE h 第一分区表项 16字节+1CE h 第二分区表项 16字节+1DE h 第三分区表项 16字节+1EE h 第四分区表项 16字节+1FE h 可执行的标记(AA55 h) 2字节启动模块包含足以装入操作系统的代码,或者是第二步的加载代码的位置。启动模块需要使用BIOS调用来从磁盘装入数据,而这些中断调用,如INT 13h等,限制了最大磁盘柱面号为1023。这也就是说启动模块需要加载的一切内容,如初始内存磁盘、内核、启动的时间信息等,必须存放在1024个柱面以内。在MBR中只有四个分区表项,每个表项的格式如下:地址偏移 内容 大小+00h 分区状态:00代表非启动分区,80h代表启动分区 1字节+01h 分区的起始位置 磁头 1字节+02h 分区的起始位置 柱面和扇区 1字节+04h 分区的类型 1字节+05h 分区的结束位置 磁头 1字节+06h 分区的结束位置 柱面和扇区 1字节+08h 在主引导区和本分区的第一个扇区间的扇区数目 4字节+0Ch 分区内的扇区数目 4字节5.2 Linux的启动过程1启动的命令行参数在Linux启动时,它处理所有传递给它的命令行参数。这可以影响Linux的运行方式。命令行参数包括:QUOTE:mem=xxxM:定Linux可以使用的内存大小。这在用户的计算机系统有超过64MB的内存时才需要。因为从前的主板只对第一个64MB内存进行缓存,使用超过64MB的内存会使整个计算机的性能下降,所有内存均按无缓存的速度运行。single:使Linux按单用户方式启动,缺省方式是多用户方式。root=/dev/xxx:指定Linux要安装为根文件系统的设备。init=<file>;:指定作为初始化进程的文件。initrd=<dev>;:指定作为初始内存磁盘的设备。ro:指定根文件系统为只读。rw:指定根文件系统为可读可写。2 Init进程在内核初始化自身和找到的硬件设备后,在后台启动进程init(/sbin/init),init进程号1运行。在UNIX世界中有许多启动过程的版本,一些是基于系统V,一些是基于BSD。大多数Linux版本使用系统V的实现方法,在这里描述的就是这样。init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同。QUOTE:单用户模式:init进程忽略/etc/inittab文件,在执行少数几个脚本程序后调用/dev/console shell。这样,用户就可以有了一个shell,而且可以执行一定限度的任务。多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别。Init通过标准的Linux方法进入一个指定的进行级别。3.进行级别Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的。Linux共有6种运行级别。QUOTE:0:关闭计算机或终止计算机运行,这个级别就是系统停止运行。1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录。2:多用户运行级别,但无网络功能。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,可以通过虚拟控制台或串行线路。3:多用户模式,有网络功能。在这个运行级别,所有标准网络服务均被启动。4:目前没有实现。5:X11运行级别,在这个运行级别,X服务器软件运行,提供图形界面的登录方式。6:系统重新启动。查询当前运行级别:runlevel;4在启动过程中运行的脚本在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的,其中X代表运行的级别,即一个运行级别对应一个目录。不同的字母开头的文件有不同的作用。其中:以K开头的脚本程序是系统离开某个运行级别时执行的,作用是停止某种服务。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的所有K程序。以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序。5增加启动脚本程序用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程序,用户可以增加自己的初始化脚本程序来完成这些工作。通常步骤是:复制一个已经存在的脚本,这样可以得到一个通用的框架格式。修改这个脚本,以完成自己的需求,要注意使程序可以处理启动和关闭的参数,尽管可能关闭处理什么也不需要干。把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv”。按下面的方法在相应的目录下建立运行控制链接:CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv进行测试。6 LILO和其他的启动模块要启动Linux,启动模块是必须的。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区。LILO可以通过修改/etc/lilo.conf文件内容来进行配置,对引导区内容的更新通过lilo命令来完成。下面给也了一个装有DOS,TurboLinux3.4.0和RedHat 5.2系统的计算机的lilo.conf文件。在例子中的数字标号是用户加上去并要在文中详细解释的。CODE:[Copy to clipboard]# more /etc/lilo.confboot=dev/hadmap=/boot/mapinstll/boot/boot.bprompt#表示启动盘是/dev/had,这是主IDE硬盘。timeout=50#表示等待用户输入的时间是50秒。default=TL3.4other=dev/hda1#表示如果在上述的时间内没有输入,缺省的启动系统是TL3.4,即TurboLinux 3.4.0label=dostable=dev/had#表示如果在LILO提示用户输入启动系统时,用户按了<Tab>;键,各个系统将以label的内容显示出来,供用户选择。image=/mnt/tl3.4/boot/vmlinuzlabel=TL3.4root=/dev/hda3read-onlyTurboLinux的启动文件,/mnt/tl3.4/boot/vmlinuz被确定,根文件系统在/dev/hda3,根文件系统是只读方式的。CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7label=RH5.2root=/dev/hda4read-onlyRedHat的启动文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被确定,根文件系统在/dev/hda4,根文件系统可读写。

㈥ linux中的命令在shell脚本中怎么写

执行“nano function.sh”命复令,创建制新的shell脚本文件,名字为“function.sh”。编辑新创建的shell脚本文件“function.sh"。函数必须先定义后使用。shell脚本的内容如下:#!/bin/bashadd(){sum_1=$1;sum_2=$2;sum=`expr $sum_1 + $sum_2`;echo "the sum is ${sum}";}add $1 $24给新创建的function.sh赋可执行权限,命令为“chmod 755 function.sh”。5使用“./function.sh 1 2”调用脚本,并给脚本传递两个数字。6执行命令的结果为“the sum is 3”。

㈦ linux shell 重启命令

#把重启次数保存到文件:如:/tmp/reboot.txt#!/bin/shsleep45#文件file:保存重启次数file="/tmp/reboot.txt"if[-f$file]thennum=`cat$file`elsenum=0fi#重启次数累加((num+=1))#固化到文件echo$num>$filereboot#end

希望能够帮助到你,你的好评是我前进的动力,谢谢!

㈧ LIUNX中常用的shell操作命令有什么

文件系统操作命令: 1. cat:可以显示文件的内容(经常和more搭配使用),或将多个文件合并成一个文件。 2. chgrp:用来改变文件或目录所属的用户组,命令的参数以空格分开的要改变属组的文件列表,文件名支持通配符,如果用户不是该文件的所有者,则不能改变该文件的所属组。 3. chmod:用于改变文件或目录的访问权限,该命令有两种用法:一种是使用图形化的方法,另一种是数字设置法。 4. chown:用来将指定用户或组为特定的所有者。用户可以设置为用户名或用户ID,组可以是组名或组ID。特定的文件是以空格分开的可以改变权限的文件列表,文件名支持通配符。 5. clear:用来清除终端屏幕。 6. cmp:用来比较两个文件的大小。 7. cp:()可以将文件或目录复制到其他目录中,就如同Dos下的命令一样,功能非常强大。在使用cp命令时,只需要指定源文件名或目标目录即可。 8. cut:用来移除文件的部分内容。 9. diff:用来找出两个文件的不同之处。 10. : 用来显示磁盘的剩余空间的大小。 11. file:用来显示文件的类型。 12. find:用来在目录中搜索文件,并执行指定的操作。 13. head:只查看文件的头几行内容,而不必浏览整个文件。 14. ln:可以在文件之间创建链接,实际上是给某个文件指定一个访问它的别名。 15. less:用法与more类似,可以查看超过一屏的文件内容,不同的是less除了可以按空格键向下显示文件外,还可以利用方向键来滚动显示文件,要结束浏览,只要在less的提示符“:”后按Q即可。 16. locate:可用于查找文件,且比find命令的搜索速度快。 17. ls(list):用来显示当前目录中的文件和子目录列表。 18. mkdir(make directory):建立子目录。 19. more:用于显示内容超过一屏的文件,为了避免文件内容显示瞬间就消失,可以使用more命令让文件显示满一屏时暂停,在按下任意键的时候继续显示下一屏的内容。 20. rmkdir(remove directory):用来删除“空”的子目录或无用的目录文件。 21. mv(move):可以将文件以及目录移到其他位置,或更改文件以及目录的名称。 22. pico:可指定文本的编辑方式。 23. pwd(print working directory):可显示用户当前所在的目录。 24. rm:用来删除系统中过时或无用的文件,可以删除目录中的文件或目录本身,对于链接文件,原有文件保持不变。 25. sort:将文本文件自动分类。 26. stat:用于显示文件或文件系统的状态。 27. Strings:显示文件中要打印的字符串。 28. tail:输出文件的结尾。 29. touch:改变文件的时间戳。 30. umask:用于启动bash shell。 31. uniq:移除已分类文件中的重复文本行。 32. vi:启动vi文本编辑器。 33. wc:显示文件中字节、词组合文本行的数目。 34. whereis:查找特定目录下的原始程序,二进制程序或用户手册等文件的位置。 35. man:如果用户对某个命令想了解更详细的话,可使用此命令。 36. dd:复制一个文件。 37. df:查看一个文件系统的磁盘空间使用情况。 38. edquoat:设置用户与用户组的磁盘空间限制,即Windows系统中的配额。 39. fdformat:格式化软盘。 40. fdisk:执行Linux下的磁盘分区。 41. mkfs:建立一个Linux文件系统。 42. mkswap:创建一个Linux交换分区。 43. mount:挂载一个文件系统。 44. quota:限制和显示用户可用的磁盘空间。 45. swapon,swapoff:启用或取消设备和文件的交换页。 46. quotaon,quotaoff:启用或取消quota限制。 47. umount:取消文件系统的装备。 系统管理命令 1. finger:查询用户信息,也能查看默认的用户环境。 2. ftp:标准的文件传输协议的用户接口,是在网络上传输文件最简单有效的方法。 3. host:用于DNS查询。 4. hostname:用于显示或设置系统的主机名。 5. ifconfig:用于配置网卡接口。(可以使用down或up参数来禁用或启用某个网卡接口) 6. mail:发送和接收邮件。 7. netstat:显示网络连接、路由表和网络接口信息,用户可以知道目前那些网络连接正在运行。 8. ping:此命令用于测试本计算机和网络上其它的计算机是否相连。 9. rlogin:远程登陆命令,该命令与telnet命令很相似,允许用户启动远程系统的交互会话。 10. rcp:rcp(remote file )命令是远程文件复制命令,该命令用于在计算机之间复制文件,有两中格式,一种格式用于文件动文件的复制,另一种用于把文件或目录复制到其他文件目录中。 11. route:此命令用于显示或设置IP路由表。 12. tcpmp:此命令用于测试网络的通信量。 13. talk:此命令可用于事项网络用户的适时交谈,但是必须将双方系统的信息加入各自的/etc/hosts文件中,以相互识别。 14. telnet:此命令用于通过网络登陆远程计算机,如同操作本地计算机一样。 15. wall:wall(write all)命令可以用于发送消息给登陆本机的用户。在发送消息时,可直接输入要发送的消息,也可以把文件当成消息发送。 16. wget:此命令用于Linux环境下从Internet上下载文件,支持http和ftp协议,支持代理服务器和断点连续传功能,能够递归远程主机上的目录,查找合乎要求的的文件并下载到本地硬盘上。Wget命令可以在后台运行,截获并忽略hantfup信号,因此用户退出登陆后,仍可继续运行。 17. &,bg:&,bg命令是后台执行命令,有时候用户执行的程序可能要话很多时间,如果放在前台执行,可能无法继续其他操作,最好将他放在后台执行。 18. fg:fg命令是前台执行命令,如果用户有程序在后台运行,可以通过fg命令将程序从后台移到前台执行。 19. jobs:此命令用于显示正在后台执行的任务清单。Bg,fg,jobs命令都属于bash命令, 20. kill:此命令用于终止一个程序,例如:#[[email protected] root]kill 3793 21. ps:此命令用于显示程序的状态。 22. top:此命令用于显示当前CPU进程。 23. at batch atp atrm:这些命令用于排序,检查或删除后台运行的任务。 Linux与用户有关的命令: 1. passwd命令:更改用户口令。 格式:passwd [用户名] 2. su命令:可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级拥护以普通用户的身份做一些事情。 格式:su[选项][?][使用者账号] 说明:若没有指定的使用者账号,则系统预设值为超级用户root。该命令中个选项的含义分别为: -c:执行一个命令后就结束。 -:加了这个减号的目的是使环境变量和欲转换的用户相同。 -m:保留环境变量不变。

㈨ 如何在Linux系统中执行Shell文件

首先你要让文件有能够执行的权限,比如你的文件是a.sh那么你可以chmodxa.sh然后运行文件就可以了./a.sh这样运行是a.sh在当前工作目录,如果文件没在当前目录,那么就需要用绝对路径来执行,比如/opt/a.sh,/opt/test/a.sh,如果想知道更多的linux相关可以关注《linux就该这么学》这本书。

㈩ linux操作系统的shell命令有哪些

1 文件与目录操作命令1.1文件内容查询命令 grep、fgrep、egrep语法:[选项][查找模式][文件名1,文件名2,……]选项:-E 每个模式作为一个扩展的正则表达式对待-F 每个模式作为一组固定字符串对待,而不作为正则表达式-i 比较时不区分大小写-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;-x 只显示整行严格匹配的行1.2文件查找命令 find、locate语法:find 起始目录 寻找条件 操作以名称和文件属性查找选项: -name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[]。-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[]。-gid n 查找属于ID号为n的用户组的所有文件。-uid n 查找属于ID号为n的用户的所有文件。-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。-user‘字串‘ 查找属于用户名为所给字串的所有的文件。-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[]。-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。-type x 查找类型为 x的文件,语法:locate 相关字1.3文件的复制、删除和移动命令 文件复制命令[选项] 源文件或目录 目标文件或目录选项:- a 通常在拷贝目录时使用-d 拷贝时保留连接-f 删除已经存在的目标文件而不提示-i 和f选项相反-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;-l 不作拷贝,只是链接文件文件移动命令mv[选项] 源文件或目录 目标文件或目录-i 交互式操作-f 禁止交互式操作文件删除命令[选项] 文件…-f 忽略不存在的文件,从不给出提示-r 指示rm将参数中列出的全部目录和子目录均递归地删除-i 进行交互式删除 1.4文件链接命令ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录选项:- s 建立符号链接1.5目录的创建和删除命令 mkdir 创建一个目录语法: [选项] dirname选项: – m 对新建目录设置存取权限-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。rmdir 删除空目录语法: rmdir [选项] dirname选项:- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。1.6改变工作目录,显示目录内容命令1、改变工作目录: cd [directory]2、显示当前工作的目录的绝对路径: pwd3、显示目录内容: ls [选项] [目录或是文件]选项:- a 显示指定目录下所有子目录与文件,包括隐藏文件;-c 按照文件的修改时间排序-C 分成多列显示各项-d 如果参数是目录,只显示其名称而不显示其下的个文件-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。-l 以长格式来显示文件的详细信息-L 若指定的名称为一个符号链接,则显示链接所指向的文件-t 显示时按修改时间而不是名字排序-u 显示时按文件上次存取的时间而不是名字排序4、改变文件或目录的访问权限命令chmod [who] [+| – | = ] [mode] 文件名?Who选项:- u表示用户,即文件和目录的所有者-g表示同组用户-o(other)表示其他用户-a (all)表示所有用户操作符号: + 添加某个权限 – 取消某个权限 = 赋予给定权限并取消其他所有的权限(如果有的话)mode 选项:- r 可读-w 可写-x 可执行 chgrp [-R] group filename? 改变目录或文件所属的组chown [-Rv] 用户或组 文件1.7备份与压缩命令1、tar命令 为文件和目录创建档案语法:tar [主选项+辅助选项] 文件或者目录 : u 主选项-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项-r 把要存档的文件追加到档案文件的末尾-t 列出档案文件的内容,查看已经备份了哪些文件;-u 更新文件-x 从档案文件中释放文件;-u 辅助选项-b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20-f 使用档案文件或设备,这个选项通常是必选的-k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;-m 在还原文件时,把所有文件的修改时间设定为现在;-M 创建多卷的档案文件,以便在几个磁盘中存放;-v 详细报告tar处理的文件信息-w 每一步都要求确认-z 用gzip来压缩/解压缩文件2、gzip命令 压缩/解压缩命令语法:gzip [选项] 压缩(解压缩)的文件名选项:-c 将输出写到标准输出上,并保留原有文件-d 将压缩文件解压-l 显示每个压缩文件的详细信息-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩-t 测试、检查压缩文件是否完整-v 对每一个压缩和解压的文件,显示文件名和压缩比3、unzip 命令 用MS windows下的压缩软件winzip压缩的文件在linux系统下展开语法:unzip [选项] 压缩文件名.zip选项: -x 文件列表 解压缩文件,但不包括指定的file文件-v 查看压缩文件目录,但不解压-t 测试文件有无损坏 ,但不解压-d 目录 将压缩文件解到指定目录下-z 只显示压缩文件的注解-n 不覆盖已经存在的文件-o 覆盖已经存在的文件且不要求用户确认-j 不重建文档的目录结构,把所有文件解压到同一目录下1.8在LINUX环境下运行DOS命令 linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。mcd 目录名 改变MSDOS目录 m 源文件 目标文件 在MSDOS和UNIX之间复制文件;mdel 目录名 删除MSDOS目录 mdir 目录名 显示MSDOS目录 mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统 rnlabel 驱动器号 产生MSDOS卷标 mmd 目录名 删除MSDOS目录 mren 源文件 目标文件 重新命名已存在的MSDOS文件 mtype 文件名 显示MSDOS文件的内容2 设备管理命令1)linux采用下面的形式定义一个IDE硬盘:/dev/hd[drive][partition]2)SCSI硬盘使用同样的机制表示: /dev/sd[drive][partition]3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下: mk2fs –c ; 4)装载文件系统:mount –t ext2 [-o optioms] partition mountpiont 其中,-t为指定装载文件系统的类型;-o指定一些选项,如只读ro,可读可写rw等等; partition定义分区名称; mountpiont定义文件系统被装载的目录名称。5)装载CD-ROM文件系统:mount –t iso9660 –r /dev/cdrom /mnt/cdrom6)装载软驱文件系统: CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy7)卸载文件系统 CODE:[Copy to clipboard]umount /mnt/cdrom 磁带设备的安装要注意以下几点:1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置2、 选择驱动程序。3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备) 用 ls /dev/*rst* 检查磁带设备文件是否存在,如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如 mt setblk 20 将块长度指定为20 mt setblk 0 指定块程度没有限制5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total3 软件包管理命令3.1软件安装的步骤 在LINUX系统上安装软件的步骤有:1、 查找所要安装软件的源文件2、 把源文件解开放到一个目录中,命令如下: tar zxvf <源文件名>;3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure4、 make源文件,通常是运行make命令,即执行 make5、 安装二进制文件和其他支撑文件,运行命令: make install6、 最后,完成所有其他必须的配置3.2软件包管理命令 QUOTE: rpm –ivh <软件包>; // 安装指定的软件包,并在安装过程中用#表示安装的进度 rpm –Uvh <软件包>; // 更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。 rpm –e //卸载一个rpm软件包 rpm –qa // 查看系统中已经安装的软件包 rpm –q <软件包>; // 查看系统中某个软件包的版本号; rpm –qlp <软件包>; //列出某个软件包中的所有文件 rpm –qf <软件包>; //找出一个文件属于哪个软件包4 LINUX系统常用命令4.1 与系统管理有关的命令 Wall (Write All) 对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入: # wall < FileName 例:Wall ‘Thank you !’ Write 向某一用户发送信息。 Write xxq hello 输入Ctrl+C组合即可终止 Shutdown命令 Shutdown [选项] [时间] [警告信息]-k 并不真正关机,而只是发出警告信息给所有的用户。-r 关机后立即重新启动。-h 关机后不重新启动。-f 快速关机,启动时跳过fsck。-n快速关机,不经过init程序。-c 取消一个已经运行的shutdown 例:系统马上关机:Shutdown –h now Free命令查看当前系统内存的使用情况, CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以字节为单位显示。-k 以K字节为单位显示。-m 以M字节为单位显示。 Uptime QUOTE: 显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。4.2与用户有关的命令 Passwd命令设置、更换用户口令。Passwd [用户名] Su 使一个普通的用户具有超级用户的权利,离开可用EXIT命令。 4.3其它命令 Echo命令在显示器上显示一段文字,一般起到一个提示的作用。echo [-n] 字符串 Cal命令显示某年某月的日历。cal [选项] [月[年]]选项的含义:-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。-y 显示也整年的日历。 Date命令 date命令的功能是显示和设置系统日期和时间。 4.4磁盘管理 磁盘空间管理 df命令检查文件系统的磁盘空间占用局部。Df [选项]-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。-k 以K字节为单位显示。-i 显示i节点信息,而不是磁盘块。- t 显示各指定类型的文件系统的磁盘空间使用情况。-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反)。-T 显示文件系统类型。 命令 的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文件)所占磁盘空间的大小。 [选项] [Names…]-s 对每人Names 参数只给也占用的数据块总数。-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数。-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)-k 以1024字节为单位列也磁盘空间使用情况。-c 最后再加上一个总计(系统缺省)-l 计算所有的文件大小,对硬链接文件,则计算多次。-x 跳过在不同文件系统上的目录不予统计。 dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法: dd 〔选项〕 if =输入文件(或设备名称)。 of =输出文件(或设备名称)。 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。 bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。 cbs = bytes 一次转换bytes字节。 count = blocks 只拷贝输入的blocks块。 conv = ASCII 把EBCDIC码转换为ASCII码。 conv = ebcdic 把ASCII码转换为EBCDIC码。 conv = ibm 把ASCII码转换为alternate EBCDIC码。 conv = blick 把变动位转换成固定字符。 conv = ublock 把固定们转换成变动位 conv = ucase 把字母由小写变为大写。 conv = lcase 把字母由大写变为小写。 conv = notrunc 不截短输出文件。 conv = swab 交换每一对输入字节。 conv = noerror 出错时不停止处理。 conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。 fdformat命令低级格式化软盘。format [-n] device QUOTE: -n 格式化后不做检验4.5常用的网络命令 FTP命令 Telnet命令。Netstat命令-a 显示所有的scoket,包括正在监听和。-c 每隔1秒就重新显示一遍,直到用户中断它。-i 显示所有网络接口的信息,格式同”ifconfig –e”-n 以网络IP地址代替名称,显示也网络连接情形。-r 显示核心路由表,格式同”route –e:。-t 显示TCP协议的连接情况。-u 显示UDP协议的连接情况。-v 显示正在进行的工作。 nslookup命令。 finger命令,功能是查询用户的信息。 ping命令。(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)4.6有关进程的命令。 进程和启动 at [-V] [-q] [-f文件名] [-mldbv]时间 at –c 作业 [作业….] AT命令启动的进程系统只执行一次。 batch [-V] [-q 队列] [-f 文件名] [-mv] [时间] 在系统负载较小时,资源比较空闲时执行。 cron命令按一定的时间间隔执行命令。 crontab命令用于安装、删除或列出用于驱支cron后台进程的表格。进程查看who命令。 w命令是一个比who命令更强大的命令 w–[husfV] [user] -h 不显示标题。-u 当列出当前进程和CPU时间时忽略用户名。-s 使用短模式。不显示登录时间JCPU和PCPU时间。-f 切换显示FROM项,也就是远程主机名项。-V 显示版本信息。 user 只显示指定用户的情况。 ps命令。-e 显示所有进程。-f 全格式-h 不显示标题。-l 长格式。-w 宽输出。 a 显示终端上所有进程,包括其他用户的进程。 r 只显示正在运行的进程。 x 显示没有控制终端的进程。 top 命令动态显示系统当前的进程和其他状况。 5系统的启动过程。

未经允许不得转载:山九号 » linux执行shell文件中的命令|linux操作系统的shell命令有哪些

赞 (0)