Linux的shell编程中,如何将一段字符串进行截取?
简单介绍下Shell字符串截取的详细方法,如截取指定字数、按指定的字符串截取、按指定要求分割。
一、Linux shell 截取字符变量的前8位,有方法如下: 二、按指定的字符串截取 1、第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ${varible%%string*}从右向左截取最后一个string后的字符串 ${varible%string*}从右向左截取第一个string后的字符串 “*”只是一个通配符可以不要 三、按照指定要求分割: 比如获取后缀名
linux怎么使多条命令同时执行?
一次执行多个命令可以将多个命令用英文分号分割,比如像这样:
mkdir /tmp/mydir; touch /tmp/mydir/myfile
其实这样也不能算是同时执行,Linux的命令是顺序执行的,就算是shell脚本,里面写了一大堆命令,同样也顺序执行的。如果前一个命令执行的时间比较长,后面的命令就只有等待了。如果命令执行时间比较长,又想让命令同时执行,恐怕只能打开多个虚拟终端才行(右键虚拟终端界面,选择“打开标签”),打开多个登录的虚拟终端其实是运行了多个“会话”,多个“会话”中的命令才是“同时”执行。
linux命令大全详解?
在Linux系统中,提供了一套非常完备的命令,利用这些命令,我们可以更高效地完成所有的操作任务。
采用命令的方式进行操作的好处是,具有比图形化操作更加快捷高效的特点。但是命令方式不够直观,需要我们熟练记忆命令的用法、格式以及选项和参数等内容。只有我们通过不断地使用,才能运用自如。
一、Shell命令的格式
Shell命令是由命令和多个选项以及参数组成的命令行,各部分之间用空格分隔。重要的是,Shell命令是严格区分大小写的,所以,在使用Shell命令时一定要特别注意。
命令的一般格式如下:
命令名 ……
说明(小白请注意):
”"符号是为了表示一个部分,在编写命令时,不能带上这个符号。比如使用ls 用法时,这样写ls 是错的,正确写法应该是ls -s hello.txt
同时,“"符号里面的内容为可选(可写可不写)比如:ls ,可以直接使用ls,也可以带上选项ls -s
二、基本命令
1、目录操作命令
命令名:ls
功能:列出当前目录下所有内容
格式:ls
选项及作用:
| 选项 | 作用 |
| -s | 显示每个文件的大小 |
| -S | 按文件大小排序 |
| -a | 显示目录中全部文件(包括隐藏文件)|
| -l | 使用长列表格式,显示文件详细信息 |
| -t | 按文件修改的时间排序 |
| -F | 显示文件类型描述符 |
命令名:cd
功能:切换用户所在目录
格式:cd
特殊符号及作用:
| 特殊符号 | 作用 |
| / | 从当前目录跳转到根目录 |
| . | 前往当前目录 |
| ..| 前往上一级目录 |
| – | 前一目录,即进入当前目录之前操作的目录 |
| ~ | 回到当前用户的宿主目录 |
命令名:pwd
功能:显示当前目录的绝对路径
格式:pwd
命令名:mkdir
功能:创建一个新的目录
格式:mkdir 目录名
选项及作用:
| 选项 | 作用 |
| -m 权限 | 对新建目录设置存取权限,权限有744、755等 |
| -p | 一次性创建多级目录(以递归形式创建) |
命令名:rmdir
功能:删除一个空目录
格式:rmdir 目录名(-p代表递归删除各级目录)
2、文件操作命令
命令名:touch
功能:创建一个空文件
格式:touch 文件名
命令名:cat
功能:显示某文件的内容
格式:cat …
选项及作用:
| 选项 | 作用 |
| -a | 显示所有字符(换行符、制表符、其它非打印字符) |
| -n | 对文件中所有的行进行编号并显示行号 |
| -b | 除了空行不编号,文件中其它行都进行编号并显示行号 |
| -s | 将连续的空行压缩为一个空行 |
cat命令其它格式:
cat 文件名 | ls 表示按页显示文件内容
cat 文件名1;cat 文件名2 表示显示多个文件内容
cat 此命令没有任何参数,即cat单独使用。在开始执行时,光标停留在下一行,等待键盘输入,当用户输入一行后,按下回车,就会显示一行相同的内容。当用户结束输入时,按下Ctrl+D键退出,回到命令提示符下。
cat > 新文件名 ”>“这个大于号是重导向符号。代表把键盘输入的信息重导向输入到新文件中。内容输入结束后,同样也是按Ctrl+D键退出新文件的制作。
cat 文件名1 文件名2 > 文件名3 该用法实现了把文件1和文件2的内容合并输入到文件3中。文件3中的内容是按文件1和文件2的顺序排列的。
cat 文件名2 >> 文件名1 该用法实现了把文件2的全部内容追加到文件1的末尾。
命令名:cp
功能:进行文件的复制
格式:cp 源文件 目标路径
选项及作用:
| 选项 | 作用 |
| -i | 以安全询问方式进行源文件的复制 |
说明:该命令实现了把源文件复制到目标路径中,文件名不变。如果为目标路径下的文件名,则以文件的重命名方式实现文件的复制。目标路径可以是相对路径,也可以是绝对路径。
命令名:rm
功能:删除指定的文件
格式:rm 文件名或目录名
选项及作用:
| 选项 | 作用 |
| -i | 以安全询问方式进行删除文件 |
| -r | 递归处理,将指定目录下的所有文件及子目录一并处理 |
| -f | 强制删除文件或目录 |
| -v | 显示指令执行过程 |
命令名:mv
功能:移动指定的文件
格式:mv 文件名 路径名
命令名:chmod
功能:修改文件的权限和属性
格式: chmod 文件名1 文件名2…
注: 作为一个部分,中间不加空格。
文件使用者有( u、g、o、a) 4种类型,在使用时,可以采用其中的任何一个,也可以组合使用。
u:表示user(文件主),就是文件或目录的所有者
g:表示group(组群),文件主所在组群的用户
o:表示other,其他用户
a:表示all,所有用户
操作符号有3种类型,分别是 +、-、=。
+:表示增加权限
-:表示删除或取消权限
=:表示赋予给定的权限给文件使用者,并取消其他权限(如果有的话)
权限类型有3种基本类型,分别是r、w、x,这些类型可以组合使用。
r:代表可读权限
w:代表可写权限
x:代表可执行权限
选项及作用:
| 选项 | 作用 |
| a+rw | 为所有用户增加可读、可写的权限 |
| g+w | 为组群用户可写权限 |
| a-rwx | 取消所有用户可读、可写、可执行权限 |
| o-rwx | 取消其他用户可读、可写、可执行权限 |
| a+rw | 为所有用户增加读、写的权限 |
| ug+r| 为所有者和组群用户增加读权限 |
| g=rx | 只允许组群用户可读、可执行,并删除其他权限 |
| 自定义 | 可以根据实际需要进行组合 |
chmod命令的其他格式
格式如下:
chmod 文件名
mode是指 3个 0~7 范围的八进制数值,分别代表user、group、other 的权限。
其实,我们也可以用数字来表示权限:
0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限。
举例:
chmod a=rwx filename
chmod 777 filename
对以上的两个例子分析:
a=rwx表示允许所有用户可读、可写、可执行。
777指三个八进制数值,前面提到了,分别代表的是user、group、other 的权限,即第一个数字”7“指允许user的可读、可写、可执行,第二个数字”7“指允许group的可读、可写、可执行,第三个数字”7“指允许other的可读、可写、可执行。
所以,这两个例子效果是一样的。
懵逼了,”7“怎么就指可读、可写、可执行了呢?
rwx权限=4+2+1=7(可读、可写、可执行)
rw权限=4+2=6(可读、可写)
rx权限=4+1=5(可读、可执行)
再举个例子:
chmod ug=rwx,o=x filename
chmod 771 filename
这两个效果也是相同的。
3、文件处理命令
命令名:grep
功能:在指定的文件中查找指定的字符串
格式:grep 关键字 文件名
选项及作用:
| 选项 | 作用 |
| -i | 不区分大小写 |
命令名:head
功能:查看文件开头部分的内容
格式:head 文件名
数字选项及作用:
| 数字选项 | 作用 |
| -3 | 显示文件前3行的内容 |
| -5 | 显示文件前5行的内容 |
| -n | 显示文件前n行的内容 |
说明:如果不指定数字选项,即使用命令grep 文件名,则默认只显示文件前10行。
命令名:tail
功能:查看文件结尾部分的内容
格式:tail 文件名
数字选项及作用:
| 数字选项 | 作用 |
| -3 | 显示文件末尾3行的内容 |
| -5 | 显示文件末尾5行的内容 |
| -n | 显示文件末尾n行的内容 |
说明:如果不指定数字选项,即使用命令tail 文件名,则默认只显示文件末尾10行的内容。
命令名:wc
功能:统计文件的行数、单词数、字符数。
格式:wc 文件名
选项及作用:
| 选项 | 作用 |
| -l | 显示文件的行数 |
| -w | 显示文件的单词数 |
| -m | 显示文件的字符数 |
命令名:sort
功能:对文件内容或查询结果进行排序
格式:sort 文件名
选项及作用:
| 选项 | 作用 |
| -f | 忽略大小写 |
| -r | 反向排序 |
| -t | 指定分隔符 |
| -i | 只考虑可以打印的字符,忽略任何非显示字符 |
命令名:find
功能:查找文件或目录
格式:find 文件名或目录名
命令名:which
功能:按PATH变量所规定的路径进行查找相应的命令,并显示该命令的绝对路径。
格式:which 命令名
4、压缩备份命令
命令名:bzip2
功能:压缩文件
格式:bzip2 文件名1 …
说明:使用该命令对文件进行压缩后,压缩前的原始文件消失,系统会生成一个新的压缩文件,压缩文件的后缀为.bz2。而且,使用该命令压缩的文件,必须用bunzip2来进行解压操作。
命令名:bunzip2
功能:解压文件
格式:bunzip2 文件名1 …
命令名:gzip
功能:压缩或解压文件
格式:gzip 文件名
选项及作用:
| 选项 | 作用 |
| -d | 解压操作 |
| -n | 指定压缩级别,n的范围是1~9 |
命令名:unzip
功能:解压以.zip为后缀的压缩文件
格式:unzip 文件名.zip
选项及作用:
| 选项 | 作用 |
| -d | 将文件解压到指定目录中 |
| -n | 不覆盖原来已存在的文件 |
| -v | 查看文件目录列表但不解压 |
| -o | 已默认方式覆盖已存在的文件 |
举例: unzip -n filename.zip -d /home/ubuntu将文件filename.zip解压到/home/ubuntu目录中。
命令名:zcat和bzcat
功能:这两个都是用来查看压缩文件内容的,压缩文件不用解压也能查看。
格式:zcat 文件名或bzcat 文件名
命令名:tar
功能:对文件或目录进行打包或解包操作
格式:tar
选项及作用:
| 选项 | 作用 |
| -c | 创建新的打包文件 |
| -t | 查看打包文件里的文件目录 |
| -f | 使用文件或设备 |
| -v | 显示打包压缩或解包压缩后的文件的详细清单 |
| -x | 抽取.tar文件的内容 |
| -z | 打包后直接用gzip命令进行压缩或解压文件 |
| -j | 打包后直接用bzip2命令进行压缩或解压文件 |
5、磁盘操作命令
命令名:df
功能:查看当前硬盘的分区信息
格式:df
选项及作用:
| 选项 | 作用 |
| -a | 显示每个文件系统和各分区的磁盘使用情况 |
| -i | 显示i节点的使用量 |
| -k | 以千字节(KB)的方式显示分区大小和挂上来的文件分区大小 |
| -h | 以兆字节(MB)的方式显示分区大小和挂上来的文件分区大小 |
| -t | 列出某个文件系统的所有分区磁盘空间使用量 |
命令名:du
功能:查看当前目录下所有文件及目录信息
格式:du
选项及作用:
| 选项 | 作用 |
| -a | 显示所有文件及目录的大小 |
| -h | 以兆字节(MB)或吉字节(GB)为单位显示文件或目录的大小 |
| -b | 以字节(B)为单位显示文件或目录的大小 |
| -s | 列出各文件大小的总和 |
命令名:fsck
功能:对硬盘进行检测
格式:fsck 分区名
6、关机重启命令
命令名:shutdown
功能:安全关机
格式:shutdown
选项及作用:
| 选项 | 作用 |
| -h | 将系统服务停掉后再安全关机 |
| -t | 在规定的时间后关机 |
| -k | 没有真正关机,只是发出警告信息 |
| -r | 将系统服务停掉后再安全重启 |
举例:
shutdown -h +5让系统在5分钟后关机 shutdown -h 21:00让系统在21:00准时关机
shutdown -r +3 "system will be reboot after 3 minuter."让系统在3分钟后重启,并提示用户系统将在3分钟后重新启动
命令名:halt
功能:关机
格式:halt
说明:该命令单独使用,相当于 shutdown -h命令
选项及作用:
| 选项 | 作用 |
| -f | 强行关机 |
命令名:poweroff
功能:关机
格式:poweroff
命令名:reboot
功能:重启系统
格式:reboot
7、用户操作命令
命令名:sudo
功能:以超级管理员的身份执行某种操作
格式:sudo 命令
说明:在使用一些命令时,会出现cannot lock相关提示,这时我们就需要在对应的命令前加个sudo命令就可以正常执行命令。
举例:使用userdel 用户名命令对用户进行删除操作,可能会出现提示userdel:cannot lock /etc/passwd; try again later.这时候我们使用sudo userdel 用户名命令就可以正常执行删除用户命令了。
提示:一般在对用户进行管理操作时(如:添加用户、修改密码等),都会用到sudo命令。
命令名:passwd
功能:修改用户密码
格式:passwd 用户名
命令名:su
功能:切换用户
格式:su 用户名
命令名:useradd
功能:创建新用户
格式:useradd 新用户名
命令名:userdel
功能:删除用户
格式:userdel 用户名
说明:可以通过参数-r删除用户的主目录及其文件,也可以不使用参数-r
8、网络通信命令
命令名:ifconfig
功能:查看IP地址等信息
格式:ifconfig
命令名:ping
功能:测试主机网路是否畅通
格式:ping 主机名或IP地址
选项及作用:
| 选项 | 作用 |
| -f | 极限检测 |
| -v | 显示命令的执行过程 |
| -q | 不显示命令的执行过程,只显示结果 |
9、其他常用命令
命令名:echo
功能:显示命令行中的字符串
格式:echo
选项及作用:
| 选项 | 作用 |
| -n | 输出字符串后,光标不换行 |
命令名:more
功能:对文件内容或查询结果分屏显示
格式:more 文件名
选项及作用:
| 选项 | 作用 |
| -p | 清屏,不滚屏 |
| -s | 把连续的空行压缩为一个空行 |
| +n | 从第n行开始显示 |
命令名:less
功能:对文件内容或查询结果分屏显示
格式:less 文件名
命令名:man
功能:显示命令的格式和详细用法
格式:man 命令名
说明:该命令是一个非常实用的命令,他可以显示系统手册页中的内容,当你需要了解某个命令的详细信息和用法时,可以使用man命令来实现。
命令名:help
功能:专门用于显示内建命令的格式用法
格式:help 命令名