命令18条军规操练大法

一、   ls: 相似于dos下的dir命令linux

ls最经常使用的参数有三个: -a -l -F。正则表达式


ls –ashell

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


ls –lbash

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


ls –Fless

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是由于使用了-F这个参数。可是如今基本上全部的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,咱们也能看到各类分辨符号。编辑器

 

二、cd: 用于切换用户当前工做目录ide

cd aaa 进入aaa目录工具

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

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

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

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

 

三、pwd:用于显示用户当前工做目录

 

四、mkdir 和 rmdir

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

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


以下:

mkdir -p 1/2/3

rmdir -p 1/2/3 

 

五、cp:复制命令

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

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

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

  

六、mv:移动命令

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

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

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

 

七、rm命令

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


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

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

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

 

八、du、df命令

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

 

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


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

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

 

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

 

九、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。

 

十、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"

        

oracle@hjtest:~> echo '$TEST'

$TEST

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

/TEST

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

//TEST

oracle@hjtest:~> echo "Hello!"

echo "Hello"

Hello

oracle@hjtest:~> echo 'Hello!'

Hello!

 

十一、more,less,clear

n        more,less命令

这两个命令用于查看文件,若是一个文件太长,显示内容超出一个屏幕,用cat命令只能看到最后的内容,用more和less两个命令能够分页查看。more指令可使超过一页的文件内容分页暂停显示,用户按键后才继续显示下一页。而less除了有more的功能之外,还能够用方向键往上或往下的滚动文件,更方便浏览阅读。


less的经常使用动做命令:

回车键 向下移动一行;

y 向上移动一行;

空格键 向下滚动一屏;

b 向上滚动一屏;

d 向下滚动半屏;

h less的帮助;

u 向上洋动半屏;

w 能够指定显示哪行开始显示,是从指定数字的下一行显示;好比指定的是6,那就从第7行显示;

g 跳到第一行;

G 跳到最后一行;

p n% 跳到n%,好比 10%,也就是说比整个文件内容的10%处开始显示;

/pattern 搜索pattern ,好比 /MAIL表示在文件中搜索MAIL单词;

v 调用vi编辑器;

q 退出less

!command 调用SHELL,能够运行命令;好比!ls 显示当前列当前目录下的全部文件;


n        clear命令

clear命令是用来清除当前屏幕显示的,不需任何参数,和dos下的cls命令功能相同。

 

十二、head,tail

n        head和tail命令

都用于查看文本文件,区别在于: head显示文件的头n行,tail显示文件的尾n行,缺省状况n都为10行。能够经过-n方式指定行数,如:

head -100 file和tail -100 file分别表示显示文件头100行和尾100行内容。

n        tail -f命令

能够实时查看文件新增内容。

 

1三、wc命令

该命令用于统计指定文件中的字节数、字数、行数。该命令各选项含义以下:

-l 统计行数

-w 统计字数

-c 统计字节数


这些选项能够组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。老是按下述顺序显示而且每项最多一列。


行数、字数、字节数、文件名

若是命令行中没有文件名,则输出中不出现文件名。

例如:

oracle@hjtest:~> wc 1.txt 2.txt

  460  1679 16353 1.txt

  300  1095 10665 2.txt

  760  2774 27018 总用量

oracle@hjtest:~> wc -l 1.txt

460 1.txt

缺省参数为-lcw,即wc file1 file2命令的执行结果与上面同样。

 

1四、grep 命令

grep是(global search regular expression(RE) and print out the line的缩写,用于从文件面搜索包含指定模式的行并打印出来,它是一种强大的文本搜索工具,支持使用正则表达式搜索文本。grep的工做方式是这样的,它在一个或多个文件中搜索字符串模板。若是模板包括空格,则必须被””引用,模板后的全部字符串被看做文件名。搜索结果送到屏幕,不影响原文件内容。

 

grep可用于shell脚本,由于grep经过返回一个状态值来讲明搜索的状态,若是模板搜索成功,则返回0,若是搜索不成功,则返回1,若是搜索的文件不存在,则返回2。咱们利用这些返回值就可进行一些自动化的文本处理工做。


示例:

$ ls -l | grep '^a'

经过管道过滤ls -l输出的内容,只显示以a开头的行。

$ grep 'test' d*

显示全部以d开头的文件中包含test的行。

$ grep 'test' aa bb cc

显示在aa,bb,cc文件中匹配test的行。

$ grep '[a-z]/{5/}' aa

显示全部包含每一个字符串至少有5个连续小写字符的字符串的行。

$ grep 'w/(es/)t.*/1' aa


若是west被匹配,则es就被存储到内存中,并标记为1,而后搜索任意个字符(.*),这些字符后面紧跟着另一个es(/1),找到就显示该行。若是用egrep或grep -E,就不用"/"号进行转义,直接写成'w(es)t.*/1'就能够了。

 

1五、man,logout命令

man命令

man是manual的缩写,至关于Unix/Linux的联机Help,每一个系统命令和调用都有很是详细的说明,绝大多数都是英文。如:man ls便是查看ls命令的使用说明,通常还有另外一种方法用来查看帮助,如:ls –help,这种方式绝大多数命令都支持。

 

logout命令

该命令用于退出系统,与login命令对应。

 

1六、管道和xargs
管道:

利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会做为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会做为第二个命令的输入,第二个命令的输出又会做为第三个命令的输入,依此类推。


注意:管道左边命令的输入做为管道右边命令的输入(命令的输入是必定的),不是参数,并非全部命令都支持管道


例子:ls | grep a  查看当前目录下名称包含a的文件或文件夹

 

xargs:

大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但若是要使用其余某个命令并将前一个命令的输出做为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);你能处理输出,使其仅显示文件名,目前你但愿将这些名称传递给 ls -l命令以查看时间戳记。xargs 命令就是用来完成此项工做的。


注意:find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是所有,不像-exec选项那样。这样它能够先处理最早获取的一部分文件,而后是下一批,并如此继续下去

 

例子:

一、在整个系统中查找内存信息转储文件(core dump) ,而后把结果保存到/tmp/core.log 文件中:

$ find / -name "core" -print | xargs echo "" >/tmp/core.log


二、当一个目录下文件太多时,直接用rm * 命令会包参数过长,用以下方法能够所有删除

$ls | xargs rm

 

1七、basename 和 dirname

basename用于查看文件不含路径的名字,dirname则用于查看文件路径,使用效果咱们测试一下便知:

> basename /home/hj/1.txt

1.txt

> dirname  /home/hj/1.txt

/home/hj

> basename 1.txt

1.txt

> dirname 1.txt

.

1八、不带任何参数的set命令将显示shell的所有变量

相关文章
相关标签/搜索