天天看点

linux基本命令 01.linux基本命令

01.linux基本命令

文章目录

  • 01.linux基本命令
    • 一、目录相关命令
    • 二、文件管理
    • 三、解压和压缩文件相关命令
    • 四、查看文本
    • 五、系统管理命令
    • 六、其他命令

一、目录相关命令

1、ls //列出目录内容

-l//长格式

-f//普通文件

-d//目录文件

-b//块状设备文件

-c//字符设备文件

-l//符号链接文件

-p//命令管道

-s//套接字文件

-h//以人类更方便的方式显示大小

-t//按时间顺序排列

-r//逆序显示

2、cd //切换目录

3、pwd//查看当前所在目录路径

4、mkdir//创建目录

-p创建目录时候目录不存在则自动递归创建

-v显示创建过程

5、rmdir//删除目录,只能删除空目录

6、tree//查看目录树

-d//只显示目录

-l//指定显示层级数目

-p//只显示由指定匹配到的路径

7、history//查看历史命令

8、grep //查看过滤出关键字

[[email protected] ~]# ls -l
总用量 4
-rw-------. 1 root root 1231 9月  29 18:25 anaconda-ks.cfg
drwxr-xr-x. 2 root root   84 11月  2 08:18 test
[[email protected] ~]# ls -f
.  ..  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc  anaconda-ks.cfg  .bash_history  .pki  .ssh  test  .viminfo
[[email protected] ~]# ls -d
.
[[email protected] ~]# ls -b
anaconda-ks.cfg  test
[[email protected] ~]# ls -c
test  anaconda-ks.cfg
[[email protected] ~]# ls -l
总用量 4
-rw-------. 1 root root 1231 9月  29 18:25 anaconda-ks.cfg
drwxr-xr-x. 2 root root   84 11月  2 08:18 test
[[email protected] ~]# ls -p
anaconda-ks.cfg  test/
[[email protected] ~]# ls -s
总用量 4
4 anaconda-ks.cfg  0 test
[[email protected] ~]# ls -h
anaconda-ks.cfg  test
[[email protected] ~]# ls -t
test  anaconda-ks.cfg
[[email protected] ~]# ls -r
test  anaconda-ks.cfg
[[email protected] ~]# tree -d
.
└── test
1 directory
[[email protected] ~]# tree -l
.
├── anaconda-ks.cfg
└── test
    ├── a.txt
    ├── b.txt
    ├── c.txt
    ├── d.txt
    ├── e.txt
    └── f.txt
1 directory, 7 files
[[email protected] ~]# tree -p
├── [-rw-------]  anaconda-ks.cfg
└── [drwxr-xr-x]  test
    ├── [-rw-r--r--]  a.txt
    ├── [-rw-r--r--]  b.txt
    ├── [-rw-r--r--]  c.txt
    ├── [-rw-r--r--]  d.txt
    ├── [-rw-r--r--]  e.txt
    └── [-rw-r--r--]  f.txt
           

二、文件管理

1、touch//创建一个空文件

2、stat//显示文件系统状态

3、rm//删除文件,命令会提示是否需要删除

-r//递归删除,删除目录用此选项

-f//强制删除不询问

4、cp//复制文件到一个文件,多个文件到一个目录

*-a//归档复制常用于复制

-r//递归拷贝,拷贝目录必须使用此选项

-p//拷贝时保留原权限

5、mv//移动文件

6、install//复制文件且设置属性

-m MODE

-o OWNER

-g GROUP

[[email protected] ~]# rm -r a.txt
rm:是否删除普通空文件 "a.txt"?y
[[email protected] ~]# rm -f b.txt
[[email protected] ~]# cp -a a.txt b.txt  //文件复制
[[email protected] ~]# ls
anaconda-ks.cfg  a.txt  b.txt  test
[[email protected] ~]# ls
anaconda-ks.cfg  a.txt  c  test
[[email protected] ~]# cp -r test c     //目录复制
[[email protected] ~]# ls c
b.txt  test
[[email protected] ~]# ll
总用量 4
-rw-------. 1 root root 1231 9月  29 18:25 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 11月  2 09:45 a.txt
drwxr-xr-x. 3 root root   31 11月  2 09:48 c
drwxr-xr-x. 2 root root   84 11月  2 08:18 test
[[email protected] ~]# cp -p a.txt b.txt            //拷贝保留权限
[[email protected] ~]# ll
总用量 4
-rw-------. 1 root root 1231 9月  29 18:25 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 11月  2 09:45 a.txt
-rw-r--r--. 1 root root    0 11月  2 09:45 b.txt     //a和b的权限未变
drwxr-xr-x. 3 root root   31 11月  2 09:48 c
drwxr-xr-x. 2 root root   84 11月  2 08:18 test

           

三、解压和压缩文件相关命令

第一种gzip解压及压缩命令

gzip -d//表示删除源文件进行解压

gzip -k//表示保留原文件

zcat 文件名//查看压缩文件内容

第二种bzip压缩及解压命令

举例说明bzip2后面xz和zip同理可解压以及查看

bzip2 -d 解压以后删除原文件

bzip2 -k f压缩成bz2压缩保留源文件或者bunzip2解压

bzcat a.txt.bz2查看压缩文件内容

[[email protected] ~]# ls
anaconda-ks.cfg  a.txt  test
[[email protected] ~]# bzip2 a.txt
[[email protected] ~]# ls
anaconda-ks.cfg  a.txt.bz2  test
[[email protected] ~]# bzip2 -d a.txt.bz2 //不保留原压缩文件解压
[[email protected] ~]# ls
anaconda-ks.cfg  a.txt  test
[[email protected] ~]# bzip2 -k a.txt //保留源文件压缩
[[email protected] ~]# ls
anaconda-ks.cfg  a.txt  a.txt.bz2  test
[[email protected] ~]# bzcat a.txt.bz2 //不解压查看文件内容
hello baby

           

第三种xz压缩

xz f //压缩

unxz f.xz//解压

xzcat f.xz//查看压缩文件内容

第四种zip压缩及解压命令

zip a.zip 文件夹 //把一整个文件夹里的资料压缩命名问a.zip

zip a.zip 文件一 文件二 文件三 //把后面连续多个文件压缩文件a.zip

unzip a.zip //解压a.zip文件

第五种tar解压压缩可以把前面三种压缩指令进行综合运用

关于tar的几种应用

-cf a.tar d e f //把几个文件进行归档压缩

-zcf //归档调用gzip

-zxf //调用gzip解压并展开归档

-jcf //归档并调用bzip2压缩

-jxf //调用bzip2解压并展开归档

-Jcf //归档并调用xz压缩

-Jxf //调用xz解压并展开归档

-tf //查看压缩包有几个文件

四、查看文本

1、cat //查看文件内容或者多个文件内容重定向单个文件内

2、tac //可以倒顺序查看

3、more//查看文件内容从前往后,文件内容显示完以后自动退出

4、less//查看文件内容从后往前。

5、head//查看文件内容前几行内容默认前十行,也可以-n自己设置前面哪几行查看

6、tail//查看文件内容后几行内容默认后十行,也可以-n自己设置后面哪几行查看,还有加-f cup 可以实时查看文件更新内容,在查看日志中经常用到,

[[email protected] ~]# cat abc > b.txt 
cat: abc: 没有那个文件或目录
[[email protected] ~]# echo "hello" >b.txt
[[email protected] ~]# ls
anaconda-ks.cfg  a.txt  a.txt.bz2  b.txt  test
[[email protected] ~]# cat a.txt b.txt >ab  \\多个文件内容定向ab文件内
[[email protected] ~]# cat ab               \\内容查看验证
hello baby
hello
[[email protected] ~]# cat -n ab             \\加-n可查看显示几行
     1	hello baby
     2	hello
[[email protected] ~]# tac ab                \\倒序查看文件内容
hello
hello baby
[[email protected] ~]# cat > qy << EOF  
> A
> B
> C
> D
> hello
> EOF
\1、请注意创建文件并输入多行内容内容,EOF可替换为其他单词,但是结尾必须是替换的单词结尾
\2、如果想给文件输入的单词为变量,只想显示原内容,那就给结尾单词强引用单引号引起来
\3、还可以利用\转译符号保持原来的变量,剩下的变量可以正常输入
[[email protected] ~]# a=2
[[email protected] ~]# b=3
[[email protected] ~]# cat > qy <<qinyong
> $a
> $b
> qinyong
[[email protected] ~]# cat qy
2
3
例一和例二如下:
[[email protected] ~]# cat > qy <<'qinyong'    \\加入强引用引号
>$a
>$b
qinyong
[[email protected] ~]# cat qy
$a
$b
例三如下:
[[email protected] ~]# cat > qy << qinyong
> \$a                  \利用转译符号保持原样
> \$b
> $c
> qinyong
[[email protected] ~]# cat qy   \查看只改变了变量C
$a
$b
5

[[email protected] ~]# cat qy
A
B
C
D
hello

[[email protected] ~]# head hehe
1
2
3
4
5
6
7
8
9
10
[[email protected] ~]# tail hehe
41
42
43
44
45
46
47
48
49
50
[[email protected] ~]# head -5 hehe
1
2
3
4
5
[[email protected] ~]# tail -5f cup   \\查看后面五行实时变化的内容
46
47
48
49
50
[[email protected] ~]# head -18 hehe|tail -1  \\查看第18行head和tail利用管道符结合应用
18

           

五、系统管理命令

1、df磁盘使用情况,-h人类友好方式显示

2、sed的替换属于重点

sed -i ‘s/被替换/替换项/g’修改替换文件内容,其中g表示全局,改为数字表示每行第几个被修改

还有sed -i ‘nd’ 文件名:表示删除第n行,sed -i ‘na 内容’ 文件名:表示添加在第n行.

sed -n ‘数字p’ 文件名:表示取第几行,sed -n ‘/关键词/p’:表示取那几组全部相关句子

sed -i ‘nc 内容’ 文件名:表示把n行全部改为修改内容

3、sort //默认升序排列例如:cat 文件名|sort -n,还有-u表示去除重复

cat 文件名|sort -r :按照逆序排列包括字母

4、uniq//去除重复,可接管道符,-c表示每个词语重复次数,-d表示重复行,-u表示没有重复行

5、wc//-c表示显示字节数,-d//表示重复行数,-w表示显示单词数

6、du//du 目录:表示目录下所有文件大小,du 目录/ 表示:目录下每个文件占多少大小*

7、df :显示磁盘使用情况

8、hostname:修改主机名称,如果是hostnamectl:永久修改主机名称

[[email protected] ~]# df -h    \\查看磁盘使用情况
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  1.5G   16G    9% /
devtmpfs                 887M     0  887M    0% /dev
tmpfs                    899M     0  899M    0% /dev/shm
tmpfs                    899M  9.5M  890M    2% /run
tmpfs                    899M     0  899M    0% /sys/fs/cgroup
/dev/sda1               1014M  142M  873M   14% /boot
tmpfs                    180M     0  180M    0% /run/user/0
[[email protected] ~]# df -h|awk '{print $3}'   \\利用awk取出第三列数据
已用
1.5G
0
0
9.6M
0
142M
0
[[email protected] ~]# cat a.txt
1hello
2boy
3red
4baby
5face
6book
7number
8say
9bye
10work
[[email protected] ~]# sed -i 's/7number/11111/g' a.txt  \\修改替换文件内容
[[email protected] ~]# cat a.txt
1hello
2boy
3red
4baby
5face
6book
11111                           \\替换成功
8say
9bye
10work
[[email protected] ~]# sed -n '5p' a.txt
5face
[[email protected] ~]# sed -n '/book/p' a.txt
6book
[[email protected] ~]# cat a.txt
1hello
2boy
3red
4baby
5face
6book
11111
8say
9bye
10work
[[email protected] ~]# sed -i '2d' a.txt  \\删除第二行
[[email protected] ~]# cat a.txt    
1hello
3red
4baby
5face
6book
11111
8say
9bye
10work
[[email protected] ~]# sed -i '2a 2tianjia' a.txt  \\在第二行后面添加,在第三行显示内容 
[[email protected] ~]# cat a.txt
1hello
3red
2tianjia
4baby
5face
6book
11111
8say
9bye
10work
[[email protected] ~]# du test                \\目录全部大小
0	test
[[email protected] ~]# du test/*             \\目录下每个文件全部大小
0	test/a.txt
0	test/b.txt
0	test/c.txt
0	test/d.txt
0	test/e.txt
0	test/f.txt
0	test/g.txt
[[email protected] ~]# du -s test           \\目录下的大小也可以du -sh test查看
0	test

           

六、其他命令

1、time 命令表示执行时间

2、clear 表示清屏

3、whoami表示当前谁登陆系统,w也可以显示当前在线用户

4、date表示现在什么时间,-s可以修改时间例如:date -s ‘2019-10-10 00:00:00’

cal表示显示日历时间。例如看2019年12个月日历输入:cal -y 2019

5、which后面加上命令:显示指定命令绝对路径

6、ntpdate后面加上服务器地址:表示同步时间服务

7、bc表示保留小数点例如:echo ‘scale=2;5/2’|bc -l,其中scale=表示保留几位小数

8、ldd表示查看命令依赖库文件例如查看ls的就输入ldd /usr/bin/ls就会显示依赖库有哪些

继续阅读