linux 的基础命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 的基础命令相关的知识,希望对你有一定的参考价值。
1 ls 查看文件或目录
【功能说明】:查看文件或目录
【语法格式】:ls 参数 指定文件或目录
【选项参数】:
参数 参数说明 列子
-l 查看文件或目录的详细信息 ls -l /root
-h 以1024为进制显示文件大小 ls -lh /root
-t 按照修改时间排序,默认由近到远 ls -t /root
-a 显示所有文件/目录,包括以
‘.’ 开头的隐藏文件。 ls -a /root
ls 例子
[[email protected] ~]# ls /root/
oldboy
-l参数实例
[[email protected] ~]# ls -l /root/
total 4
drwxr-xr-x. 3 root root 4096 Jun 29 09:44 oldboy
-h参数实例
[[email protected] ~]# ls -lh /root/
total 4.0K
drwxr-xr-x. 3 root root 4.0K Jun 29 09:44 oldboy
-t 参数实例
[[email protected] ~]# ls -t /root/oldboy/
he.txt he
[[email protected] ~]# ls /root/oldboy/
he he.txt
-a 参数
[[email protected] ~]# 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列子
[[email protected] ~]# ls
oldboy
[[email protected] ~]# mkdir /root/he
[[email protected] ~]# ls
he oldboy
[[email protected] ~]# ls /root
1
[[email protected] ~]# mkdir /root/2 /root/3
[[email protected] ~]# ls
[[email protected] ~]# ls /root
1 2 3
-p 参数实例
[[email protected] ~]# mkdir -p /root/1/2/3/4
[[email protected] ~]# tree /root
/root-- 1<br/>
-- 2-- 3<br/>
-- 4
4 directories, 0 files
[[email protected] ~]#
创建多层目录
[[email protected] ~]# mkdir oldboy/{10086,10000}/data -p
[[email protected] ~]# tree
.
└── oldboy
├── 10000
│ └── data
└── 10086
└── data
5 directories, 0 files
[[email protected] ~]#
3 touch 创建文件
【功能说明】:创建文件
【语法格式】:touch 参数 路径下创建文件
【选项参数】:
参数 参数说明 列子
[[email protected] ~]# touch /root/1/he.txt
[[email protected] ~]# ls 1
2 he.txt
touch 创建多个文档
[[email protected] ~]# ls
[[email protected] ~]# touch /root/file{1..10}.txt
[[email protected] ~]# 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 的基本用法
[[email protected] ~]# cat install
directoy
install
echo
sysconfig
[[email protected] ~]# awk ‘NR==2‘ /root/install 显示第几行
install
[[email protected] ~]# 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 参数
[[email protected] ~]# sed -n ‘3p‘ /root/skip.txt
grep
[[email protected] ~]# sed -n ‘2,3p‘ /root/skip.txt
sed
grep
5.2 sed 替换 格式 sed ‘s###g’ 路径
[[email protected] ~]# cat /root/skip.txt
awk
sed
grep
head
tail
[[email protected] ~]# sed ‘s#grep#find#g‘ /root/skip.txt -i
[[email protected] ~]# cat /root/skip.txt
awk
sed
find
head
tail
[[email protected] ~]# sed -n ‘s#skip#oldboy#gp‘ install p 表示把替换内容的哪一行显示在桌面
install oldboy directoy
[[email protected] ~]# cat install
install skip directoy
[[email protected] ~]#
5.3 sed 不显示选中内容行
[[email protected] ~]# sed ‘/find/d‘ /root/skip.txt
awk
sed
head
tail
5.4 在指定行的前面/后面添加内容
[[email protected] ~]# seq 20 23 >install.txt
[[email protected] ~]# cat install.txt
20
21
22
23
[[email protected] ~]# sed -i ‘2a install‘ install.txt 2a 表示在第二行后面追加内容
[[email protected] ~]# cat install.txt
20
21
install
22
23
[[email protected] ~]#
[[email protected] ~]# sed -i ‘2i install‘ install.txt 2i 表示在第二行的前面追加内容
[[email protected] ~]# cat install.txt
20
install
21
22
23
24
25
[[email protected] ~]#
5.5 sed 删除功能的用法
[[email protected] ~]# sed -i ‘/103/d‘ install 删除包含103这个字符的行
[[email protected] ~]# cat install
100
101
102
104
105
[[email protected] ~]# cat test.txt
test liyao
oldboy
oldgir
[[email protected] ~]# sed ‘2d‘ test.txt 删除第二行
test liyao
oldgir
[[email protected] ~]#
[[email protected] ~]# sed ‘1,+2d‘ install 删除文件第一行和后面的2行(1,+2d)
103
104
105
[[email protected] ~]# cat install
100
101
102
103
104
105
[[email protected] ~]# sed ‘1~2d‘ install 显示等差数列1,3,5行,差为2,自己指定的
101
103
105
[[email protected] ~]# cat install
100
101
102
103
104
105
[[email protected] ~]# sed -i ‘2,$d‘ install 删除第二行后面所有的内容包括第二行
[[email protected] ~]# cat install
100
[[email protected] ~]#
[[email protected] ~]# sed -i ‘i 99‘ install 不加指定行 则视为每一行
[[email protected] ~]# cat install
99
100
99
101
99
102
1.1 在任何时候都不能轻易的使用>
[[email protected] /]# cat /directory/program.txt
1
3
5
7
9
[[email protected] /]# sed -i ‘/5/d‘ > /directory/program.txt
sed: no input files
[[email protected] /]# cat /directory/program.txt
[[email protected] /]#
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 参数
[[email protected] ~]# grep -v "3" /root/skip.txt
1
2
4
5
6.2 -A -B -C 参数
[[email protected] ~]# grep -A1 "3" /root/skip.txt
3
4
[[email protected] ~]# grep -B1 "3" /root/skip.txt
2
3
[[email protected] ~]# grep -C1 "3" /root/skip.txt
2
3
4
6.3 -o -w -c -i -n
[[email protected] ~]# cat test.txt
test liyao
oldboy
oldgir
[[email protected] ~]# grep -o "oldboy" test.txt 只输出过滤的字符
oldboy
[[email protected] ~]# grep -w "oldgir" test.txt
oldgir
[[email protected] ~]# grep -w "olgir" test.txt 这个必须是文件内一个完整的单词
[[email protected] ~]# grep -c "oldboy" test.txt
1
[[email protected] ~]#
[[email protected] ~]# cat test.txt
test liyao
oldboy
oldgir
[[email protected] ~]# grep -n "old" test.txt
2:oldboy
3:oldgir
[[email protected] ~]#
7 find***
【功能说明】:查找目录下的文件或目录,任何位于参数前的字符串,都将视为想要查找的目录名。不设置参数时他将查找当前目录下的子目录及文件,并显示所有信息。
【语法格式】:find /root/ -type f -name “*.txt”
命令 ××× 找什么 文件 找什么名字
【选项参数】:
参数 参数说明 列子
-type 要查找的类型 f 文件 d 目录
-name 要查找的名字 一般“”在里面输入要查找的东西。
-o 或者 -name “” -o -name “”
7.1 用find查找删除多个文件/目录、
[[email protected] ~]# touch install{1..20}.txt
[[email protected] ~]# 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
[[email protected] ~]# find /root/ -type f -name "*.txt"|xargs rm -f 以后缀查找通过管道删除
[[email protected] ~]# ls
[[email protected] ~]#
[[email protected] ~]# touch install{1..20} /root
[[email protected] ~]# ls
install1 install13 install17 install20 install6
install10 install14 install18 install3 install7
install11 install15 install19 install4 install8
install12 install16 install2 install5 install9
[[email protected] ~]# find ./ -name "inst" |xargs rm -f 删除 包含前面内容的文档/目录
[[email protected] ~]# ls
[[email protected] ~]#
[[email protected] ~]# 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
[[email protected] ~]#
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 参数
[[email protected] ~]# seq -s "0" 5
102030405
8.2 -w参数 -w -s组合使用
[[email protected] ~]# seq -w 10 以最大的为模板不够的以0补充
01
02
03
04
05
06
07
08
09
10
[[email protected] ~]# seq -ws " " 10 指定分割符号
01 02 03 04 05 06 07 08 09 10
8.3 seq 的几种用法
[[email protected] ~]# seq 3 【从1开始默认增长量为1】
1
2
3
[[email protected] ~]# seq 3 5 【从3开始默认增长量为1】
3
4
5
[[email protected] ~]# seq 1 3 10 【从1开始增长量为3】
1
4
7
10
9 head 头
【功能说明】:头 显示文件的前几行,默认显示文件前10 行。
【语法格式】:head -n2 oldboy
命令 参数 文件名
【选项参数】:
参数 参数说明 列子
-n 数字 显示文件的前几行默认显示文件的前10行 【n可以省略直接加 -数字】 head -n2 oldboy
-n 参数
[[email protected] ~]# head -2 oldboy
awk
find
head 接管道 cat显示
[[email protected] ~]# head -3 oldboy | cat -n
1 awk
2 find
3 grep
[[email protected] ~]# 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 用法
[[email protected] ~]# tail -2 oldboy
sed
echo
[[email protected] ~]# tail -2 oldboy | cat -n
1 sed
2 echo
[[email protected] ~]# cat -n oldboy | tail -2
6 sed
7 echo
-c 参数
[[email protected] ~]# 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 参数列子
[[email protected] ~]# cat -n oldboy
1 head -n
2 tail -n -c
3
4
5 dirctory
[[email protected] ~]# cat -b oldboy
1 head -n
2 tail -n -c
3 dirctory
[[email protected] ~]# 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 ” ; echo “oldboy”
echo echo {a..z} 生成A到Z的序列到屏幕
echo 命令应用
[[email protected] ~]# echo "oldgre" >> oldboy 表示把内容追加到文件结尾
[[email protected] ~]# cat oldboy
head -n
tail -n -c
dirctory
oldgre
[[email protected] ~]# echo "man" > oldboy 把源文件内容覆盖掉
[[email protected] ~]# cat oldboy
man
[[email protected] ~]# echo "oldger" 显示到桌面
oldger
[[email protected] ~]#
-n -e 参数
[[email protected] ~]# echo -n "oldger" ; echo "oldboy"
oldgeroldboy
[[email protected] ~]# echo -ne "oldger " ; echo "oldboy" 【 为tab】
oldger oldboy
用echo写入多行文本
[[email protected] ~]# touch install
[[email protected] ~]# ls
install
[[email protected] ~]# echo "directoy
install
echo
sysconfig">>install
[[email protected] ~]# cat install
directoy
install
echo
sysconfig
[[email protected] ~]#
echo生成序列
[[email protected] ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[[email protected] ~]# echo {a..j}
a b c d e f g h i j
[[email protected] ~]#
13 cd
【功能说明】:进入目录
【语法格式】:cd /root
命令 要进入哪里
【选项参数】:
参数 参数说明
cd . 切换到当前目录,相当于没动
cd .. 切换到当前目录的上级目录
cd ../.. 返回上两级目录,类推
cd ~ 进入用户主目录
cd - 返回刚才所在的目录
14 rm 删除文件/目录
【功能说明】:删除文件或目录
【语法格式】:rm -f /root/oldboy
命令 参数 要删除的内容
【选项参数】:
参数 参数说明 列子
-f 强制删除文档(不提示)
-r 删除目录
-fr 强制删除目录
rm 用法
[[email protected] ~]# ls
cat find sed
[[email protected] ~]# rm /root/ -rf 当这样用号时,表示root目录下的所有文件/目录但不包括
[[email protected] ~]# ls -a 隐藏文件/目录
. .bash_history .bash_profile .viminfo
.. .bash_logout .bashrc
15 mv 剪切
【功能说明】:用来剪切目录或给文件/目录更名
【语法格式】:
【选项参数】:
参数 参数说明 列子
[[email protected] /]# mv /data /root
[[email protected] /]# ls /root
data test.txt
[[email protected] /]# ls /root/data/
he oldboy1.txt oldboy.txt
[[email protected] /]#
16 pwd 显示当前所在位置
【功能说明】:
【语法格式】:
【选项参数】:
参数 参数说明 列子
[[email protected] /]# cd /root/data/he/
[[email protected] he]# pwd
/root/data/he 《=== 当前工作路径
[[email protected] he]#
17 xargs
【功能说明】:分组
【语法格式】:
【选项参数】:
参数 参数说明 列子
分组
[[email protected] ~]# cat m.txt
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
[[email protected] ~]# xargs -n5 < m.txt
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[[email protected] ~]#
18 vi vim编辑文本
【功能说明】:linux里面用来编辑文本的工具
【语法格式】:
【选项参数】:
参数 参数说明 列子
i 进入编辑模式
:wq 保存并退出
Esc 键 退出
:q 退出不保存
:q! 强制退出不保存
-o 编辑多个文本
19 cp复制
【功能说明】:复制文件或目录,默认复制文件。
【语法格式】:
【选项参数】:
参数 参数说明 列子
[[email protected] he]# ls /root/data/
he oldboy1.txt oldboy.txt
[[email protected] he]# cp /root/data/oldboy.txt ./
cp: overwrite `./oldboy.txt‘? y
[[email protected] he]# cp /root/data/oldboy.txt ./ 不提示是否覆盖方法慎用
[[email protected] he]# /bin/cp /root/data/oldboy.txt ./
[[email protected] he]#
- history 查看已使用过的命令
以上是关于linux 的基础命令的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
markdown [Docker] Docker片段列表和命令#linux #docker #snippets