八股文--linux

shell常用命令

1、ls命令

ls 以默认方式显示当前目录文件列表

ls -a 显示所有文件包括隐藏文件     例如: .file   文件名称前面带小数点为隐藏文件。

ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行

ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)

ls -lt 显示文件,按照修改时间排序

2.cd命令

cd dir 切换到当前目录下的dir目录

cd / 切换到根目录

cd .. 切换到到上一级目录

cd ../.. 切换到上二级目录

cd ~ 切换到用户目录,比如是root用户,则切换到/root下

3、cp命令

cp source target 将文件source复制为target

cp /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命令

-b :若需覆盖文件,则覆盖前先行备份。 

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会更新(update)

-t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,
即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

6、diff diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出

diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的

7、comm comm file1 file2 比较文件,显示两个文件不相同的内容

comm -12 file1 file2 就只显示在两个文件中都存在的行
comm -23 file1 file2 只显示在第一个文件中出现而未在第二个文件中出现的行
comm -13 file1 file2 只显示在第一个文件中未出现而出现在第二个文件中的行

8.ln命令

ln source_path target_path 硬连接

ln -s source_path target_path 软连接

9.cat命令

显示文件的内容,和DOS的type相同

10、more命令

功能:分页显示命令

11、tail 命令

功能:显示文件的最后几行

12.vi命令

vi file 编辑文件file

13.touch命令

功能:创建一个空文件

touch aaa.txt 创建一个空文件,文件名为aaa.txt

14.Shell中的特殊符号

14.1 $美元符号。用来表示变量的值。如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值。

1.2 # 井号。除了做为超级用户的提示符之外,还可以在脚本中做为注释的开头字母,每一行语句中,从#号开始的部分就不执行了。

1.3 “” 双引号。shell不会将一对双引号之间的文本中的大多数特殊字符进行解释,如#不再是注释的开头,它只表示一个井号“#”。但$仍然保持特殊含义。(在双引号中的$加变量名,即:$PARAM_NAME,依然会转换成变量的值。)

1.3.1 双引号对于某些特殊符号是不起作用的, 例如:”,$,\,`(反引号)

1.3.2 双引号和单引号不能嵌套。即:echo ‘””’ 输出””, echo “’’” 输出’’

1.4 ‘’ 单引号。shell不会将一对单引号之间的任何字符做特殊解释。(在双引号中的$加变量名,即:$PARAM_NAME,不会转换成变量的值。)

1.4.1 echo “$HOME” (结果:/home/xiongguoan)

1.5 `` 倒引号。命令替换。在倒引号内部的shell命令首先被执行,其结果输出代替用倒引号括起来的文本,不过特殊字符会被shell解释。

1.5.1 echo ‘$HOME’ (结果:$HOME)

1.6 \ 斜杠。用来去掉在shell解释中字符的特殊含义。在文本中,跟在\后面的一个字符不会被shell特殊解释,但其余的不受影响。

1.7 []中括号, 主要是用来测试条件的,通常放在if语句的后面。 (不过还是不太明白),但是中括号本身不会在测试语句执行后消失。

1.7.1 echo [$HOME] (结果:出现错误)

1.7.2 echo [$HOME ] (结果:[/home/xiongguoan ]) (注意:HOME后面有空格哦。)

1.7.3 echo [$HOME –eq ‘/xiong’] (结果:[/home/xiongguoan –eq /xiong])

1.8 {}大括号,主要是和$符号配合,作为字符串连接来使用

1.8.1 echo ${HOME}ismydir (结果:/home/xiongguoanismydir)

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务