zhuce 发表于 2019-2-18 06:24:38

linux 的基础命令

  1   ls查看文件或目录
【功能说明】:查看文件或目录
【语法格式】:ls参数   指定文件或目录
【选项参数】:
参数参数说明    列子
-l查看文件或目录的详细信息    ls   -l    /root
-h以1024为进制显示文件大小ls   -lh   /root
-t按照修改时间排序,默认由近到远 ls   -t    /root
-a显示所有文件/目录,包括以
‘.’ 开头的隐藏文件。    ls   -a    /root
  ls 例子
#ls/root/
oldboy
  -l参数实例
# ls-l/root/
total 4
drwxr-xr-x. 3 root root 4096 Jun 29 09:44 oldboy
-h参数实例
# ls-lh/root/
total 4.0K
drwxr-xr-x. 3 root root 4.0K Jun 29 09:44 oldboy
-t 参数实例
# ls -t /root/oldboy/
he.txthe
# ls /root/oldboy/
hehe.txt
-a参数
# ls -a /root
.   13            .bash_logout   .bashrc
..2.bash_history.bash_profile.viminfo
2   mkdir创建目录
【功能说明】:创建目录
【语法格式】:mkdir参数   要创建路径下的目录
【选项参数】:
参数参数说明    列子
-p递归创建    mkdir -p /root/1/2/3/4
  mkdir列子
# ls
oldboy
# mkdir /root/he
# ls
heoldboy
# ls /root
1
# mkdir /root/2 /root/3
# ls
# ls /root
123
-p 参数实例
# mkdir -p /root/1/2/3/4
# tree /root
/root
-- 1-- 2
-- 3-- 4
  4 directories, 0 files
#
创建多层目录
# mkdir oldboy/{10086,10000}/data -p
# tree
.
└── oldboy
├── 10000
│   └── data
└── 10086
└── data
  5 directories, 0 files
#
3   touch创建文件
【功能说明】:创建文件
【语法格式】:touch参数路径下创建文件
【选项参数】:
参数参数说明    列子
  # touch/root/1/he.txt
# ls 1
2he.txt
  touch 创建多个文档
# ls
# touch /root/file{1..10}.txt
# ls
file10.txtfile2.txtfile4.txtfile6.txtfile8.txt
file1.txt   file3.txtfile5.txtfile7.txtfile9.txt
  4   awk***
【功能说明】:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本
awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。
【语法格式】:
  【选项参数】:
参数参数说明    列子
  4.1   awk 的基本用法
# cat install
directoy
install
echo
sysconfig
# awk 'NR==2' /root/install   显示第几行
install
# awk 'NR==2,NR==4' /root/install ]    显示第几行到第几行
install
echo
sysconfig
  5   sed***
【功能说明】:流编辑器 实现对文件的增、删、改、替换、查看
【语法格式】: sed   -n      ‘2,3p’   /root/skip.txt
命令参数第几行到第几行在×××
【选项参数】:
参数参数说明    列子
-n取消默认输出sed-n‘3p’/root/skip.txt
-i修改文件的内容
插入文本到指定行前   sed-i‘s#find#grep#g’
  功能说明列子
-n取消默认输出sed-n‘3p’/root/skip.txt
-i修改文件的内容
插入文本到指定行前   sed-i‘s#find#grep#g’
  内部参数    说明
a   表示在选定的那行,后面插入一行或多行文本。   
i   表示在选定的那行,前面插入一行或多行文本。   
d   表示匹配行的文本【进行删除】
S###g   S表示替换,g全局 -----全局替换
  5.1-n 参数
# sed -n '3p' /root/skip.txt
grep
# sed -n '2,3p' /root/skip.txt
sed
grep
5.2sed 替换格式sed ‘s###g’路径
# cat /root/skip.txt
awk
sed
grep
head
tail
# sed 's#grep#find#g'/root/skip.txt -i
# cat /root/skip.txt
awk
sed
find
head
tail
  # sed -n 's#skip#oldboy#gp' install   p 表示把替换内容的哪一行显示在桌面
install oldboy directoy
# cat install
install skip directoy
#
  5.3sed不显示选中内容行
# sed '/find/d' /root/skip.txt
awk
sed
head
tail
5.4在指定行的前面/后面添加内容
# seq 20 23 >install.txt
# cat install.txt
20
21
22
23
# sed -i '2a install' install.txt    2a 表示在第二行后面追加内容
# cat install.txt
20
21
install
22
23
#
  # sed -i '2i install' install.txt   2i 表示在第二行的前面追加内容
# cat install.txt
20
install
21
22
23
24
25
#
5.5sed删除功能的用法
# sed -i '/103/d' install   删除包含103这个字符的行
# cat install
100
101
102
104
105
  # cat test.txt
test liyao
oldboy
oldgir
# sed '2d' test.txt   删除第二行
test liyao
oldgir
#
  # sed '1,+2d' install删除文件第一行和后面的2行(1,+2d)
103
104
105
# cat install
100
101
102
103
104
105
# sed '1~2d' install 显示等差数列1,3,5行,差为2,自己指定的
101
103
105
  # cat install
100
101
102
103
104
105
# sed -i '2,$d' install    删除第二行后面所有的内容包括第二行
# cat install
100
#
  # sed -i 'i 99' install 不加指定行 则视为每一行
# cat install
99
100
99
101
99
102
1.1 在任何时候都不能轻易的使用>
# cat /directory/program.txt
1
3
5
7
9
# sed -i '/5/d' > /directory/program.txt
sed: no input files
# cat /directory/program.txt
#
6   grep**
  【功能说明】:过滤、在文件中找东西
【语法格式】:grep   -v      “10”      /root
命令参数    找什么   在×××
【选项参数】:
参数参数说明    列子
-v排除选中的哪一行    grep-v“3”/root/skip.txt
-A数字    显示选中的哪一行接下来的N行grep-A1 “3”/root/skip.txt
-B数字    显示选中的哪一行前面的N行   grep-B1 “3”/root/skip.txt
-C数字    显示选中哪一行前后各N行    grep-C1 “3”/root/skip.txt
-o只输出匹配行的内容   grep -o "oldboy" test.txt
-w只匹配过滤的单词    grep -w "oldgir" test.txt
-E| -E能代替前面的斜线   
color=auto为过滤的字符串加颜色
-n显示匹配行及行号   
-i不区分大小写进行匹配
-c统计匹配的行数 grep -c "oldboy" test.txt
6.1    -v参数
# grep -v "3" /root/skip.txt
1
2
4
5
6.2-A -B -C 参数
# grep -A1 "3" /root/skip.txt
3
4
# grep -B1 "3" /root/skip.txt
2
3
# grep -C1 "3" /root/skip.txt
2
3
4
6.3 -o -w -c -i -n
# cat test.txt
test liyao
oldboy
oldgir
  # grep -o "oldboy" test.txt只输出过滤的字符
oldboy
  # grep -w "oldgir" test.txt
oldgir
  # grep -w "olgir" test.txt这个必须是文件内一个完整的单词
  # grep -c "oldboy" test.txt
1
#
  # cat test.txt
test liyao
oldboy
oldgir
# grep -n "old" test.txt
2:oldboy
3:oldgir
#
7   find***
【功能说明】:查找目录下的文件或目录,任何位于参数前的字符串,都将视为想要查找的目录名。不设置参数时他将查找当前目录下的子目录及文件,并显示所有信息。
【语法格式】:find/root/   -type   f   -name “*.txt”
命令 ××× 找什么 文件 找什么名字
【选项参数】:
参数参数说明    列子
-type   要查找的类型f 文件 d 目录
-name   要查找的名字一般“”在里面输入要查找的东西。
-o或者-name “” -o -name “”
  7.1 用find查找删除多个文件/目录、
  # touch install{1..20}.txt
# ls
install10.txtinstall15.txtinstall1.txt   install5.txt
install11.txtinstall16.txtinstall20.txtinstall6.txt
install12.txtinstall17.txtinstall2.txt   install7.txt
install13.txtinstall18.txtinstall3.txt   install8.txt
install14.txtinstall19.txtinstall4.txt   install9.txt
# find /root/ -type f -name "*.txt"|xargs rm -f   以后缀查找通过管道删除
# ls
#
  # touch install{1..20} /root
# ls
install1   install13install17install20install6
install10install14install18install3   install7
install11install15install19install4   install8
install12install16install2   install5   install9
# find ./ -name "inst" |xargs rm -f 删除 包含前面内容的文档/目录
# ls
#
  # find -name "find7.txt" -o -name "find9.txt"
./oldboy/10086/data/find9.txt
./oldboy/10086/data/find7.txt
./oldboy/10000/data/find9.txt
./oldboy/10000/data/find7.txt
#
  8seq
【功能说明】:打印数字,循环打印
【语法格式】:seq-s   “0”      3
命令 参数 指定分隔符 数量
【选项参数】:
参数参数说明    列子
-s   “” 指定分隔符   seq -s “0” 3
-w输出相同的位数以最长的那个为模板。   seq -w 10
-f“find%2g”   %后面跟最大位数不足显示为空格。    seq-f“find%2g” 10
  8.1 -s 参数
# seq -s "0" 5
102030405
  8.2-w参数   -w -s组合使用
# seq -w 10   以最大的为模板不够的以0补充
01
02
03
04
05
06
07
08
09
10
  # seq -ws " " 10   指定分割符号
01 02 03 04 05 06 07 08 09 10
  8.3seq 的几种用法
# seq 3   【从1开始默认增长量为1】
1
2
3
# seq 3 5   【从3开始默认增长量为1】
3
4
5
# seq 1 3 10    【从1开始增长量为3】
1
4
7
10
  9head头
【功能说明】:头 显示文件的前几行,默认显示文件前10 行。
【语法格式】:head-n2oldboy
命令参数 文件名
【选项参数】:
参数参数说明    列子
-n数字显示文件的前几行默认显示文件的前10行 【n可以省略直接加 -数字】head -n2 oldboy
  -n 参数
# head -2 oldboy
awk
find
  head 接管道 cat显示
# head -3 oldboy | cat -n
1awk
2find
3grep
# cat -n oldboy | head -3
1awk
2find
3grep
  10tail 尾巴
【功能说明】:显示文件的后面几行,默认显示10 行。
【语法格式】:
【选项参数】:
参数参数说明    列子
-n 接数字显示文件的后N行,n可以省略直接 -数字    tail-n3oldboy
-c 接数字输出文件尾部开始的N个字节。tail-c 10 oldboy
  tail 用法
# tail -2 oldboy
sed
echo
# tail -2 oldboy | cat -n
1sed
2echo
# cat -n oldboy | tail -2
6sed
7echo
-c 参数
# tail -c 10 oldboy
  sed
echo
11cat
【功能说明】:显示文件的内容
【语法格式】:
【选项参数】:
参数参数说明    列子
-n带行号显示   cat-noldboy
-b带行号显示,空行不标注行号。cat-boldboy
-s当遇到2行或以上的空行合并成1行。   cat-soldboy
  cat-n-b-s 参数列子
# cat -n oldboy
1head -n
2tail -n -c
3
4
5dirctory
# cat -b oldboy
1head -n
2tail -n -c

3dirctory
  # cat -sb oldboy
1head -n
2tail -n -c

3dirctory
  12echo
【功能说明】:输出指定的字符串或变量
【语法格式】:echo“file”>>oldboy
命令 输出内容 写入地址
【选项参数】:
参数参数说明    列子
-n不换行输入   echo-n“oldger” ; echo“oldboy”
-e使用制表符   echo-ne “oldger\t” ; echo “oldboy”
echo      echo {a..z} 生成A到Z的序列到屏幕
  echo 命令应用
# echo "oldgre" >> oldboy表示把内容追加到文件结尾
# cat oldboy
head -n
tail -n -c
dirctory
oldgre
# echo "man" > oldboy   把源文件内容覆盖掉
# cat oldboy
man
# echo "oldger"          显示到桌面
oldger
#
-n   -e 参数
# echo -n "oldger" ; echo "oldboy"
oldgeroldboy
# echo -ne "oldger\t" ; echo "oldboy"    【\t为tab】
oldgeroldboy
  用echo写入多行文本
# touch install
# ls
install
# echo "directoy

  install
echo
sysconfig">>install
# cat install
directoy
install
echo
sysconfig
#
echo生成序列   
# echo {1..10}
1 2 3 4 5 6 7 8 9 10
# echo {a..j}
a b c d e f g h i j
#

  13cd
【功能说明】:进入目录
【语法格式】:cd   /root
命令 要进入哪里
【选项参数】:
参数参数说明
cd .    切换到当前目录,相当于没动
cd ..   切换到当前目录的上级目录
cd ../..    返回上两级目录,类推
cd ~    进入用户主目录
cd -    返回刚才所在的目录
  14rm删除文件/目录
【功能说明】:删除文件或目录
【语法格式】:rm   -f    /root/oldboy
命令参数要删除的内容
【选项参数】:
参数参数说明    列子
-f强制删除文档(不提示)
-r删除目录   
-fr 强制删除目录
  rm 用法
# ls
catfindsed
# rm /root/ -rf   当这样用号时,表示root目录下的所有文件/目录但不包括
# ls -a                                                    隐藏文件/目录
.   .bash_history.bash_profile.viminfo
...bash_logout   .bashrc
  15    mv 剪切
【功能说明】:用来剪切目录或给文件/目录更名
【语法格式】:
【选项参数】:
参数参数说明    列子
  # mv /data /root
# ls /root
datatest.txt
# ls /root/data/
heoldboy1.txtoldboy.txt
#
16pwd 显示当前所在位置
【功能说明】:
【语法格式】:
【选项参数】:
参数参数说明    列子
  # cd /root/data/he/
# pwd
/root/data/he 《=== 当前工作路径
#
  17   xargs
【功能说明】:分组
【语法格式】:
【选项参数】:
参数参数说明    列子
  分组
# cat m.txt
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
# xargs -n5 < m.txt
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
#
  18   vi   vim编辑文本
【功能说明】:linux里面用来编辑文本的工具
【语法格式】:
【选项参数】:
参数参数说明    列子
i   进入编辑模式
:wq 保存并退出   
Esc 键   退出
:q退出不保存   
:q! 强制退出不保存
-o编辑多个文本
  19cp复制
【功能说明】:复制文件或目录,默认复制文件。
【语法格式】:
【选项参数】:
参数参数说明    列子
  # ls /root/data/
heoldboy1.txtoldboy.txt
# cp /root/data/oldboy.txt./
cp: overwrite `./oldboy.txt'? y
# \cp /root/data/oldboy.txt ./不提示是否覆盖方法慎用
# /bin/cp /root/data/oldboy.txt./
#


[*]history 查看已使用过的命令



页: [1]
查看完整版本: linux 的基础命令