返回顶部

linux 常用命令

1.mkdir:    创建目录

mkdir [-pmv] Directory

常用的命令参数

  -p: 递归创建目录

  -m:创建目录的权限,与chmod很相似

  -v:为创建的目录打印一条消息



mkdir -p /yang/yang/yang   递归创建目录

mkdir -m 777 qaz   创建目录qaz权限为777

 mkdir -v wsx    为创建的目录wsx打印一条消息

 

----------------------------------------------------------------------------------------------------------------------------------------------

 2.rm 删除
    -f:忽略不存在的文件,从不给出提示。
    -r:指示rm将参数中列出的全部目录和子目录均递归地删除。
    -i:删除时询问是否删除

rm [选项] 文件名or目录名

rm -f 1     删除文件名为1的文件,需要注意的是只能删除文件

 

rm -r  yang  删除文件名为yang的目录,  正常删除目录都是rm -rf 目录 ,  这样就不需要确认

 

 rm -i 2   删除文件名为2的文件, -i是询问是否删除

----------------------------------------------------------------------------------------------------------------------------------------------

3.wc  统计字节数、字数、行数,并将统计结果显示输出。

参数:

  -c:字节数

  -l:行数

  -w:字数

[root@augustyang qaz]# cat -n test
     1    hhhhhhhhhhhhhhhhhhhhhhhhhhhhh
     2    djdjdjdjjd
     3    scscs
     4    zzzzz
     5    aaaaaaaa
     6    aaaaaaaa
     7    rfvedc
[root@augustyang qaz]# wc -c test
78 test   字节数
[root@augustyang qaz]# wc -l test
7 test    行数
[root@augustyang qaz]# wc -w test
7 test    字数
----------------------------------------------------------------------------------------------------------------------------------------------

4.mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录,生产环境中删除一个文件,可以先移走,看运行的环境是否正常,正常之后就可以删除该文件。

命令格式:

    mv [选项] 源文件或目录 目标文件或目录

参数:

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

  -f :强制覆盖;

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

    -t  : 指mv的目标目录,将多个源文件移动到一个目标文件中

 

[root@augustyang yang]# mv  -b test1  test2    文件test1覆盖文件test2
mv:是否覆盖"test2"? y
[root@augustyang yang]# ls
test2  test2~  yang              #test2~为备份文件
[root@augustyang yang]# ls
test2  test2~  yang

[root@augustyang yang]# mv -f test3 test2   强行覆盖


[root@augustyang yang]# ll
总用量 4
-rw-r--r-- 1 root root 31 10月 27 20:17 test4   
-rw-r--r-- 1 root root  0 10月 27 20:18 wsx.txt
[root@augustyang yang]# mv -u test4  wsx.txt     若目标文件已经存在,且test4比wsx.txt新,才会更新,这里没有更新
[root@augustyang yang]# ll
总用量 4
-rw-r--r-- 1 root root 31 10月 27 20:17 test4
-rw-r--r-- 1 root root  0 10月 27 20:18 wsx.txt     这里没有覆盖,因为文件wsx.txt文件test4

[root@augustyang yang]# mv -t yang/   1.txt 2.txt 3.txt    将多个文件移动到yang目录下面
[root@augustyang yang]# tree yang/
yang/
├── 1.txt
├── 2.txt
├── 3.txt
└── yang

[root@augustyang yang]# ls
test4  wsx.txt  yang
[root@augustyang yang]# mv wsx.txt  yang/   把文件wsx.txt移动到yang目录下面
[root@augustyang yang]# tree yang/
yang/
└── wsx.txt

[root@augustyang yang]# ll
总用量 4
-rw-r--r-- 1 root root 31 10月 27 20:17 test
[root@augustyang yang]# mv test   test.txt      把test改名为test.txt
[root@augustyang yang]# ll
总用量 4
-rw-r--r-- 1 root root 31 10月 27 20:17 test.txt

----------------------------------------------------------------------------------------------------------------------------------------------

5.cat 查看文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。

 

参数:

  -n:对输出的所有的行进行编号

  -b:对非空的行进行编号

  -E:在每行结束出显示$,可以看出来这这句的结尾是否有空格。

cat > test.txt<<EOF   创建test.txt文件,输入内容按EOF结束

cat 1.txt 2.txt >> test.txt    把多个文件的内容都追加到一个存在的文件中。

----------------------------------------------------------------------------------------------------------------------------------------------

 6.sort 依据不同的数据类型进行排序,其语法及常用参数格式:

参数:

  -f:忽略大小写

  -b:忽略前面的空格等部分

  -M:以月份名来排序

  -n:依照数值的大小排序

  -r:反向排序

  -u: 就是uniq,相同的数据中,仅出现一行(去重)

  -t:分隔符

  -k:选择以哪个区间进行排序

 

uniq:

参数:

  -i:忽略大小写

  -c:进行计数  

----------------------------------------------------------------------------------------------------------------------------------------------

7.grep 文本搜索工具

参数:

  -i:忽略大小写

  -n:输出行号

  --color=auto 关键字加颜色

  -A5:显示过滤关键那行以及下面的5行都打印出来

  -B5:显示过滤关键那行以及上面的5行都打印出来

  -v:反向选择

  -E:过滤多个条件,  相当于egrep (grep -E 'A|B'  test  =   egrep 'A|B'  test)

 

grep -n  root  test.txt     过滤包含root关键的那行并输出行号

 

grep --color=auto  root test.txt   过滤包含root关键的那行并对关键字进行加颜色

grep -A5 --color=auto  ntp  test.txt     显示过滤关键字ntp 那行以及下面的5行都打印出来


grep -B5 --color=auto  ntp  test.txt      显示过滤关键字ntp 那行以及上面的5行都打印出来

----------------------------------------------------------------------------------------------------------------------------------------------

8.sed命令行格式为:
         sed [-nefri]  ‘常用命令’  输入文本/文件       

常用选项:
        -n∶取消默认的输出,使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来
        -e∶进行多项编辑,即对输入行应用多条sed命令时使用. 直接在指令列模式上进行 sed 的动作编辑
        -f∶指定sed脚本的文件名. 直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作
        -r∶sed 的动作支援的是延伸型正则表达式的语法。(预设是基础正则表达式语法)
        -i∶直接修改读取的文件内容,而不是由屏幕输出      

常用命令:
        a ∶ 新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
        c ∶ 取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
        d ∶ 删除,因为是删除,所以 d 后面通常不接任何内容
         i ∶ 插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
         p∶ 列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起用
         s∶ 取代,可以直接进行替换的工作。通常这个 s 的动作可以搭配正则表达式。例如 1,20s/old/new/g

 

打印出第1到第三行,    打印出第三行

 

sed '1,10d' test.txt   删除第一行到第10行数据,打印出没有生效的

sed  -i '2,5d'  test.txt  删除第2行到第5行数据,直接生效

 

 

sed '/mail/,/mysql/d'  test.txt   删除包含mai的行l到包含mysql的行的数据

 sed '/mail/,10d' test.txt   删除包含mail这行到第10行的数据

 

删除 d

[root@augustyang test] # sed '1d' ab        #删除第一行
[root@augustyang test] # sed '$d' ab        #删除最后一行
[root@augustyang test] # sed '1,2d' ab      #删除第一行到第二行
[root@augustyang test] # sed '2,$d' ab      #删除第二行到最后一行

 

新增 a

sed '1a  1234321'  test.txt   #第一行后增加字符串"1234321"

 

sed '1,3a  123'  test.txt    # 第一行到第三行后增加字符串"123"

 

sed '1,3a  123\n456'  test.txt  #第一行到第三行后增加多行,使用换行符。

 

sed '1c nihao' test.txt    第一行替换成nihao

 

 

sed 's/root/wwwww/g'   test.txt   #全局替换, root替换成wwwww

 

sed -i  '$a bey'   test.txt   #在文件的最后一行,输入bey.

 


[root@augustyang test]# sed -e '1,20d'  -e 's/mysql/hhhhhh/g'     test.txt   #-e 用于sed多个编辑任务情况下,  先删除1到20行,   再全局替换把mysql替换成hhhhhh。

posted on 2016-10-27 22:34  augustyang  阅读(269)  评论(0编辑  收藏  举报

导航