码迷,mamicode.com
首页 > 系统相关 > 详细

linux 的基础命令

时间:2018-07-15 19:42:42      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:cto   多行   插入   6.2   多个   gre   ash   排除   install   

1 ls 查看文件或目录
【功能说明】:查看文件或目录
【语法格式】:ls 参数 指定文件或目录
【选项参数】:
参数 参数说明 列子
-l 查看文件或目录的详细信息 ls -l /root
-h 以1024为进制显示文件大小 ls -lh /root
-t 按照修改时间排序,默认由近到远 ls -t /root
-a 显示所有文件/目录,包括以
‘.’ 开头的隐藏文件。 ls -a /root

ls 例子
[root@hzxnz01 ~]# ls /root/
oldboy

-l参数实例
[root@hzxnz01 ~]# ls -l /root/
total 4
drwxr-xr-x. 3 root root 4096 Jun 29 09:44 oldboy
-h参数实例
[root@hzxnz01 ~]# ls -lh /root/
total 4.0K
drwxr-xr-x. 3 root root 4.0K Jun 29 09:44 oldboy
-t 参数实例
[root@hzxnz01 ~]# ls -t /root/oldboy/
he.txt he
[root@hzxnz01 ~]# ls /root/oldboy/
he he.txt
-a 参数
[root@hzxnz01 ~]# ls -a /root
. 1 3 .bash_logout .bashrc
.. 2 .bash_history .bash_profile .viminfo
2 mkdir 创建目录
【功能说明】:创建目录
【语法格式】:mkdir 参数 要创建路径下的目录
【选项参数】:
参数 参数说明 列子
-p 递归创建 mkdir -p /root/1/2/3/4

mkdir列子
[root@hzxnz01 ~]# ls
oldboy
[root@hzxnz01 ~]# mkdir /root/he
[root@hzxnz01 ~]# ls
he oldboy
[root@hzxnz01 ~]# ls /root
1
[root@hzxnz01 ~]# mkdir /root/2 /root/3
[root@hzxnz01 ~]# ls
[root@hzxnz01 ~]# ls /root
1 2 3
-p 参数实例
[root@hzxnz01 ~]# mkdir -p /root/1/2/3/4
[root@hzxnz01 ~]# tree /root
/root
-- 1<br/>-- 2
-- 3<br/>-- 4

4 directories, 0 files
[root@hzxnz01 ~]#
创建多层目录
[root@oldboyedu ~]# mkdir oldboy/{10086,10000}/data -p
[root@oldboyedu ~]# tree
.
└── oldboy
├── 10000
│ └── data
└── 10086
└── data

5 directories, 0 files
[root@oldboyedu ~]#
3 touch 创建文件
【功能说明】:创建文件
【语法格式】:touch 参数 路径下创建文件
【选项参数】:
参数 参数说明 列子

[root@hzxnz01 ~]# touch /root/1/he.txt
[root@hzxnz01 ~]# ls 1
2 he.txt

touch 创建多个文档
[root@hzxnz01 ~]# ls
[root@hzxnz01 ~]# touch /root/file{1..10}.txt
[root@hzxnz01 ~]# ls
file10.txt file2.txt file4.txt file6.txt file8.txt
file1.txt file3.txt file5.txt file7.txt file9.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 的基本用法
[root@hezhen ~]# cat install
directoy
install
echo
sysconfig
[root@hezhen ~]# awk ‘NR==2‘ /root/install 显示第几行
install
[root@hezhen ~]# 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 参数
[root@hzxnz01 ~]# sed -n ‘3p‘ /root/skip.txt
grep
[root@hzxnz01 ~]# sed -n ‘2,3p‘ /root/skip.txt
sed
grep
5.2 sed 替换 格式 sed ‘s###g’ 路径
[root@hzxnz01 ~]# cat /root/skip.txt
awk
sed
grep
head
tail
[root@hzxnz01 ~]# sed ‘s#grep#find#g‘ /root/skip.txt -i
[root@hzxnz01 ~]# cat /root/skip.txt
awk
sed
find
head
tail

[root@hezhen ~]# sed -n ‘s#skip#oldboy#gp‘ install p 表示把替换内容的哪一行显示在桌面
install oldboy directoy
[root@hezhen ~]# cat install
install skip directoy
[root@hezhen ~]#

5.3 sed 不显示选中内容行
[root@hzxnz01 ~]# sed ‘/find/d‘ /root/skip.txt
awk
sed
head
tail
5.4 在指定行的前面/后面添加内容
[root@hezhen ~]# seq 20 23 >install.txt
[root@hezhen ~]# cat install.txt
20
21
22
23
[root@hezhen ~]# sed -i ‘2a install‘ install.txt 2a 表示在第二行后面追加内容
[root@hezhen ~]# cat install.txt
20
21
install
22
23
[root@hezhen ~]#

[root@hezhen ~]# sed -i ‘2i install‘ install.txt 2i 表示在第二行的前面追加内容
[root@hezhen ~]# cat install.txt
20
install
21
22
23
24
25
[root@hezhen ~]#
5.5 sed 删除功能的用法
[root@hezhen ~]# sed -i ‘/103/d‘ install 删除包含103这个字符的行
[root@hezhen ~]# cat install
100
101
102
104
105

[root@oldboyedu02 ~]# cat test.txt
test liyao
oldboy
oldgir
[root@oldboyedu02 ~]# sed ‘2d‘ test.txt 删除第二行
test liyao
oldgir
[root@oldboyedu02 ~]#

[root@hezhen ~]# sed ‘1,+2d‘ install 删除文件第一行和后面的2行(1,+2d)
103
104
105
[root@hezhen ~]# cat install
100
101
102
103
104
105
[root@hezhen ~]# sed ‘1~2d‘ install 显示等差数列1,3,5行,差为2,自己指定的
101
103
105

[root@hezhen ~]# cat install
100
101
102
103
104
105
[root@hezhen ~]# sed -i ‘2,$d‘ install 删除第二行后面所有的内容包括第二行
[root@hezhen ~]# cat install
100
[root@hezhen ~]#

[root@hezhen ~]# sed -i ‘i 99‘ install 不加指定行 则视为每一行
[root@hezhen ~]# cat install
99
100
99
101
99
102
1.1 在任何时候都不能轻易的使用>
[root@oldboyedu04 /]# cat /directory/program.txt
1
3
5
7
9
[root@oldboyedu04 /]# sed -i ‘/5/d‘ > /directory/program.txt
sed: no input files
[root@oldboyedu04 /]# cat /directory/program.txt
[root@oldboyedu04 /]#
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 参数
[root@hzxnz01 ~]# grep -v "3" /root/skip.txt
1
2
4
5
6.2 -A -B -C 参数
[root@hzxnz01 ~]# grep -A1 "3" /root/skip.txt
3
4
[root@hzxnz01 ~]# grep -B1 "3" /root/skip.txt
2
3
[root@hzxnz01 ~]# grep -C1 "3" /root/skip.txt
2
3
4
6.3 -o -w -c -i -n
[root@oldboyedu02 ~]# cat test.txt
test liyao
oldboy
oldgir

[root@oldboyedu02 ~]# grep -o "oldboy" test.txt 只输出过滤的字符
oldboy

[root@oldboyedu02 ~]# grep -w "oldgir" test.txt
oldgir

[root@oldboyedu02 ~]# grep -w "olgir" test.txt 这个必须是文件内一个完整的单词

[root@oldboyedu02 ~]# grep -c "oldboy" test.txt
1
[root@oldboyedu02 ~]#

[root@oldboyedu02 ~]# cat test.txt
test liyao
oldboy
oldgir
[root@oldboyedu02 ~]# grep -n "old" test.txt
2:oldboy
3:oldgir
[root@oldboyedu02 ~]#
7 find***
【功能说明】:查找目录下的文件或目录,任何位于参数前的字符串,都将视为想要查找的目录名。不设置参数时他将查找当前目录下的子目录及文件,并显示所有信息。
【语法格式】:find /root/ -type f -name “*.txt”
命令 ××× 找什么 文件 找什么名字
【选项参数】:
参数 参数说明 列子
-type 要查找的类型 f 文件 d 目录
-name 要查找的名字 一般“”在里面输入要查找的东西。
-o 或者 -name “” -o -name “”

7.1 用find查找删除多个文件/目录、

[root@hezhen ~]# touch install{1..20}.txt
[root@hezhen ~]# ls
install10.txt install15.txt install1.txt install5.txt
install11.txt install16.txt install20.txt install6.txt
install12.txt install17.txt install2.txt install7.txt
install13.txt install18.txt install3.txt install8.txt
install14.txt install19.txt install4.txt install9.txt
[root@hezhen ~]# find /root/ -type f -name "*.txt"|xargs rm -f 以后缀查找通过管道删除
[root@hezhen ~]# ls
[root@hezhen ~]#

[root@hezhen ~]# touch install{1..20} /root
[root@hezhen ~]# ls
install1 install13 install17 install20 install6
install10 install14 install18 install3 install7
install11 install15 install19 install4 install8
install12 install16 install2 install5 install9
[root@hezhen ~]# find ./ -name "inst" |xargs rm -f 删除 包含前面内容的文档/目录
[root@hezhen ~]# ls
[root@hezhen ~]#

[root@oldboyedu ~]# 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
[root@oldboyedu ~]#

8 seq
【功能说明】:打印数字,循环打印
【语法格式】:seq -s “0” 3
命令 参数 指定分隔符 数量
【选项参数】:
参数 参数说明 列子
-s “” 指定分隔符 seq -s “0” 3
-w 输出相同的位数以最长的那个为模板。 seq -w 10
-f “find%2g” %后面跟最大位数不足显示为空格。 seq -f “find%2g” 10

8.1 -s 参数
[root@hzxnz01 ~]# seq -s "0" 5
102030405

8.2 -w参数 -w -s组合使用
[root@hzxnz01 ~]# seq -w 10 以最大的为模板不够的以0补充
01
02
03
04
05
06
07
08
09
10

[root@hzxnz01 ~]# seq -ws " " 10 指定分割符号
01 02 03 04 05 06 07 08 09 10

8.3 seq 的几种用法
[root@hzxnz01 ~]# seq 3 【从1开始默认增长量为1】
1
2
3
[root@hzxnz01 ~]# seq 3 5 【从3开始默认增长量为1】
3
4
5
[root@hzxnz01 ~]# seq 1 3 10 【从1开始增长量为3】
1
4
7
10

9 head 头
【功能说明】:头 显示文件的前几行,默认显示文件前10 行。
【语法格式】:head -n2 oldboy
命令 参数 文件名
【选项参数】:
参数 参数说明 列子
-n 数字 显示文件的前几行默认显示文件的前10行 【n可以省略直接加 -数字】 head -n2 oldboy

-n 参数
[root@hzxnz01 ~]# head -2 oldboy
awk
find

head 接管道 cat显示
[root@hzxnz01 ~]# head -3 oldboy | cat -n
1 awk
2 find
3 grep
[root@hzxnz01 ~]# cat -n oldboy | head -3
1 awk
2 find
3 grep

10 tail 尾巴
【功能说明】:显示文件的后面几行,默认显示10 行。
【语法格式】:
【选项参数】:
参数 参数说明 列子
-n 接数字 显示文件的后N行,n可以省略直接 -数字 tail -n3 oldboy
-c 接数字 输出文件尾部开始的N个字节。 tail -c 10 oldboy

tail 用法
[root@hzxnz01 ~]# tail -2 oldboy
sed
echo
[root@hzxnz01 ~]# tail -2 oldboy | cat -n
1 sed
2 echo
[root@hzxnz01 ~]# cat -n oldboy | tail -2
6 sed
7 echo
-c 参数
[root@hzxnz01 ~]# tail -c 10 oldboy

sed
echo
11 cat
【功能说明】:显示文件的内容
【语法格式】:
【选项参数】:
参数 参数说明 列子
-n 带行号显示 cat -n oldboy
-b 带行号显示,空行不标注行号。 cat -b oldboy
-s 当遇到2行或以上的空行合并成1行。 cat -s oldboy

cat -n -b -s 参数列子
[root@hzxnz01 ~]# cat -n oldboy
1 head -n
2 tail -n -c
3
4
5 dirctory
[root@hzxnz01 ~]# cat -b oldboy
1 head -n
2 tail -n -c

 3  dirctory 

[root@hzxnz01 ~]# cat -sb oldboy
1 head -n
2 tail -n -c

 3  dirctory

12 echo
【功能说明】:输出指定的字符串或变量
【语法格式】:echo “file” >>oldboy
命令 输出内容 写入地址
【选项参数】:
参数 参数说明 列子
-n 不换行输入 echo -n “oldger” ; echo “oldboy”
-e 使用制表符 echo -ne “oldger\t” ; echo “oldboy”
echo echo {a..z} 生成A到Z的序列到屏幕

echo 命令应用
[root@hzxnz01 ~]# echo "oldgre" >> oldboy 表示把内容追加到文件结尾
[root@hzxnz01 ~]# cat oldboy
head -n
tail -n -c
dirctory
oldgre
[root@hzxnz01 ~]# echo "man" > oldboy 把源文件内容覆盖掉
[root@hzxnz01 ~]# cat oldboy
man
[root@hzxnz01 ~]# echo "oldger" 显示到桌面
oldger
[root@hzxnz01 ~]#
-n -e 参数
[root@hzxnz01 ~]# echo -n "oldger" ; echo "oldboy"
oldgeroldboy
[root@hzxnz01 ~]# echo -ne "oldger\t" ; echo "oldboy" 【\t为tab】
oldger oldboy

用echo写入多行文本
[root@hezhen ~]# touch install
[root@hezhen ~]# ls
install
[root@hezhen ~]# echo "directoy

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

13 cd
【功能说明】:进入目录
【语法格式】:cd /root
命令 要进入哪里
【选项参数】:
参数 参数说明
cd . 切换到当前目录,相当于没动
cd .. 切换到当前目录的上级目录
cd ../.. 返回上两级目录,类推
cd ~ 进入用户主目录
cd - 返回刚才所在的目录

14 rm 删除文件/目录
【功能说明】:删除文件或目录
【语法格式】:rm -f /root/oldboy
命令 参数 要删除的内容
【选项参数】:
参数 参数说明 列子
-f 强制删除文档(不提示)
-r 删除目录
-fr 强制删除目录

rm 用法
[root@hezhen ~]# ls
cat find sed
[root@hezhen ~]# rm /root/ -rf 当这样用号时,表示root目录下的所有文件/目录但不包括
[root@hezhen ~]# ls -a 隐藏文件/目录
. .bash_history .bash_profile .viminfo
.. .bash_logout .bashrc

15 mv 剪切
【功能说明】:用来剪切目录或给文件/目录更名
【语法格式】:
【选项参数】:
参数 参数说明 列子

[root@oldboyedu02 /]# mv /data /root
[root@oldboyedu02 /]# ls /root
data test.txt
[root@oldboyedu02 /]# ls /root/data/
he oldboy1.txt oldboy.txt
[root@oldboyedu02 /]#
16 pwd 显示当前所在位置
【功能说明】:
【语法格式】:
【选项参数】:
参数 参数说明 列子

[root@oldboyedu02 /]# cd /root/data/he/
[root@oldboyedu02 he]# pwd
/root/data/he 《=== 当前工作路径
[root@oldboyedu02 he]#

17 xargs
【功能说明】:分组
【语法格式】:
【选项参数】:
参数 参数说明 列子

分组
[root@hezhen ~]# cat m.txt
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
[root@hezhen ~]# xargs -n5 < m.txt
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[root@hezhen ~]#

18 vi vim编辑文本
【功能说明】:linux里面用来编辑文本的工具
【语法格式】:
【选项参数】:
参数 参数说明 列子
i 进入编辑模式
:wq 保存并退出
Esc 键 退出
:q 退出不保存
:q! 强制退出不保存
-o 编辑多个文本

19 cp复制
【功能说明】:复制文件或目录,默认复制文件。
【语法格式】:
【选项参数】:
参数 参数说明 列子

[root@oldboyedu02 he]# ls /root/data/
he oldboy1.txt oldboy.txt
[root@oldboyedu02 he]# cp /root/data/oldboy.txt ./
cp: overwrite `./oldboy.txt‘? y
[root@oldboyedu02 he]# \cp /root/data/oldboy.txt ./ 不提示是否覆盖方法慎用
[root@oldboyedu02 he]# /bin/cp /root/data/oldboy.txt ./
[root@oldboyedu02 he]#

  1. history 查看已使用过的命令

linux 的基础命令

标签:cto   多行   插入   6.2   多个   gre   ash   排除   install   

原文地址:http://blog.51cto.com/13831791/2143187

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!