Shell 的18条常用命令整理

2019-03-28  本文已影响0人  宫若石

1、  ls: 类似于dos下的dir命令

ls最常用的参数有三个: -a -l -F。

ls –a

Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。

ls –l

该参数显示更详细的文件信息。

ls –F

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

2、cd: 用于切换用户当前工作目录

cd aaa 进入aaa目录

cd    命令后不指定目录,会切换到当前用户的home 目录

cd ~  作用同cd后不指定目录,切换到当前用户的home 目录

cd -  命令后跟一个减号,则会退回到切换前的目录

cd ..  返回到当前目录下的上一级目录

3、pwd:用于显示用户当前工作目录

4、mkdir 和 rmdir

midir:创建目录    rmdir:删除目录

两个命令都支持-p参数,对于mkdir命令若指定路径的父目录不存在则一并创建,对于rmdir命令则删除指定路径的所有层次目录,如果文件夹里有内容,则不能用rmdir命令

如下:

mkdir -p 1/2/3

rmdir -p 1/2/3

5、cp:复制命令

复制一个文件到另一目录:cp 1.txt ../test2

复制一个文件到本目录并改名:cp 1.txt 2.txt

复制一个文件夹a并改名为b:cp -r a b

6、mv:移动命令

将一个文件移动到另一个目录:mv 1.txt ../test1

将一个文件在本目录改名:mv 1.txt 2.txt

将一个文件一定到另一个目录并改名:mv 1.txt ../test1/2.txt

7、rm命令

rm命令用于删除文件,与dos下的del/erase命令相似,rm命令常用的参数有三个:-i,-r,-f。

–i :系统在删除文件之前会先询问确认,用户回车之后,文件才会真的被删除。需要注意,linux下删除的文件是不能恢复的,删除之前一定要谨慎确认。

–r:该参数支持目录删除,功能和rmdir命令相似。

–f:和-i参数相反,-f表示强制删除

8、du、df命令

du命令可以显示目前的目录所占用的磁盘空间,df命令可以显示目前磁盘剩余空间。

如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况。

du -hs 指定目录  查看指定目录的总大小

du -hs ./* 查看当前目录下的所有文件夹和文件的大小

这两个命令都支持-k,-m和-h参数,-k和-m类似,都表示显示单位,一个是k字节一个是兆字节,-h则表示human-readable,即友好可读的显示方式。

9、cat命令

cat命令的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。用法如下:

cat file1 显示file1文件内容

cat file1 file2 依次显示file1,file2的内容

cat file1 file2 > file3 把file1, file2的内容结合起来,再“重定向(>)”到file3文件中。

">"是右重定向符,表示将左边命令结果当成右边命令的输入,注意:如果右侧文件是一个已存在文件,其原有内容将会被清空,而变成左侧命令输出内容。如果希望以追加方式写入,请改用">>"重定向符。

如果">"左边没有指定文件,如: cat >file1,将会等用户输入,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会将用户的输入内容写入file1。

10、echo命令

echo命令的使用频率不少于ls和cat,尤其是在shell脚本编写中。

语法:echo [-ne][字符串]

功能:echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行符。

参数:

-n 显示字串时在最后自动换行

-e 支持以下格式的转义字符, -E 不支持以下格式的转义字符

/a 发出警告声;

/b 删除前一个字符;

/c 最后不加上换行符号;

/f 换行但光标仍旧停留在原来的位置;

/n 换行且光标移至行首;

/r 光标移至行首,但不换行;

/t 插入tab;

/v 与/f相同;

// 插入/字符;

/nnn 插入nnn(八进制)所代表的ASCII字符;

示例:

Oracle@hjtest:~/hgd> echo "123" "456"

123 456

oracle@hjtest:~/hgd> echo "123/n456"

123/n456

oracle@hjtest:~/hgd> echo -e "123/n456"

123

456

oracle@hjtest:~/hgd> echo -E "123/n456"

123/n456

oracle@hjtest:~/hgd> echo -E "123///456"

123//456

oracle@hjtest:~/hgd> echo -e "123///456"

123/456

oracle@hjtest:~/hgd> echo -e "123/100456"

123@456

注意事项:

在Linux使用的bash下,单引号’’和双引号是有区别的,单引号忽略所有的转义,双引号不会忽略以下特殊字符:

Dollar signs ($),Back quotes (`),Backslashes (/),Excalmatory mark(!)

示例如下:

oracle@hjtest:~> echo "`TEST`"

-bash: TEST: command not found

oracle@hjtest:~> echo '`TEST`'

`TEST`

oracle@hjtest:~> echo "$TEST"

上一篇下一篇

猜你喜欢

热点阅读