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 阅读(265) 评论(0) 编辑 收藏 举报