综述
现在市面上主流linux发行版包括红帽系(有Redhat,Centos,Fedora,Rocky)、Debian系(有Debian,ubuntu,Deepin)、还有就是SUSE系统…,这几款系统都各有特点,主要还是看个人喜好,个人感觉如果是新手可以从红帽系列系系统切入,这样更容易上手,接下里要讲的命令也是基本围绕红帽系统展开,当然大部分命令也是用于其他系统系统,那就愉快的开始吧(更新中。。。)
1. cd
cd命令的主要作用是切换目录
cd / 切换到根目录
cd ../ 切换到上一级目录
cd ~ 切换到家目录
cd - 切换到上一次所在的目录
===============================
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# cd ../
[root@localhost local]# pwd
/usr/local
[root@localhost local]# cd /
[root@localhost /]# pwd
/
[root@localhost /]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd -
/
[root@localhost /]#
2. pwd
pwd命令主要是显示当前所在目录(绝对路径)
[root@localhost mulu]# pwd
/usr/local/src/mulu
[root@localhost mulu]# cd ../
[root@localhost src]# pwd
/usr/local/src
3. ls
ls命令是用来查询当前目录下的内容
ls 查询当前目录下的基本内容
ls -l 查询当前目录详情内容
ls -la 查询当前目录下的目录详情内容(包含隐藏文件和文件夹)
===================================================
[root@localhost local]# ls
bin etc games include lib lib64 libexec sbin share src
[root@localhost local]# ls -l
total 0
drwxr-xr-x. 2 root root 6 May 11 2019 bin
drwxr-xr-x. 2 root root 6 May 11 2019 etc
drwxr-xr-x. 2 root root 6 May 11 2019 games
drwxr-xr-x. 2 root root 6 May 11 2019 include
drwxr-xr-x. 2 root root 6 May 11 2019 lib
drwxr-xr-x. 2 root root 6 May 11 2019 lib64
drwxr-xr-x. 2 root root 6 May 11 2019 libexec
drwxr-xr-x. 2 root root 6 May 11 2019 sbin
drwxr-xr-x. 5 root root 49 Jun 9 2020 share
drwxr-xr-x. 3 root root 48 Sep 17 22:45 src
[root@localhost local]# ls -la
total 0
drwxr-xr-x. 12 root root 144 Sep 17 23:13 .
drwxr-xr-x. 12 root root 144 Jun 9 2020 ..
drwxr-xr-x. 2 root root 6 May 11 2019 bin
drwxr-xr-x. 2 root root 6 May 11 2019 etc
drwxr-xr-x. 2 root root 6 May 11 2019 games
drwxr-xr-x. 2 root root 6 May 11 2019 include
drwxr-xr-x. 2 root root 6 May 11 2019 lib
drwxr-xr-x. 2 root root 6 May 11 2019 lib64
drwxr-xr-x. 2 root root 6 May 11 2019 libexec
drwxr-xr-x. 2 root root 6 May 11 2019 sbin
drwxr-xr-x. 5 root root 49 Jun 9 2020 share
drwxr-xr-x. 3 root root 48 Sep 17 22:45 src
-rw-r--r--. 1 root root 0 Sep 17 23:13 .test
[root@localhost local]#
4. 查看文件内容
4.1 less
less查看文件内容是可以上下翻页的,一般会搭配管道符(|)、grep命令使用 例如:less 123.txt | grep ‘123’ 只查看包含123的内容,起到过滤一些不想查看的内容,这在日常使用中非常频繁。
4.2 more
和less很像,但是它只能单向从前往后翻页,有点像象棋中过了河的小卒子,只能前进,不能后退
4.3 cat
cat是一次查看所有内容,比较适合查看短小的内容,或是文件末尾内容
4.4 tac
是cat的倒序版,从它的命令符与cat相反就能看出来
4.5 head
它是查看文件内容的头几行,可以指定行数 例如:head -n 10 是指查看文件的前10行内容
4.6 tail
它是查看文件的尾部内容,可以指定行数,当文件内容有更新后总是可以查看最后的几行内容,所以经常用来查看动态日志 例如:tail -10f 123.txt 是指查看文件的末尾10行内容
5. 压缩命令
5.1 tar (.tar)
压缩文件和解压缩文件(.tar格式的) 它是保留源文件的,严格意义上他只能算是打包文件而非压缩文件,因为经过它打包的文件大小并没有减小
压缩文件: tar -cf 压缩包名(带.tar) 原文件
解压文件: tar -xf 压缩包
===========================================
[root@localhost src]# ls
12 123 m mulu
[root@localhost src]# tar -cf 123.tar 123 //压缩文件
[root@localhost src]# ls
12 123 123.tar m mulu
[root@localhost src]# rm -rf 123
[root@localhost src]# ls
12 123.tar m mulu
[root@localhost src]# tar -xf 123.tar //解压所包
[root@localhost src]# ls
12 123 123.tar m mulu
[root@localhost src]#
5.2 tar (.tar.gz)
压缩文件和解压缩文件(.tar.gz格式的) 它是保留源文件的,这个实际上是个gzip一起用的
压缩文件: tar -zcvf 压缩包名(带.tar.gz) 原文件
解压文件: tar -zxvf 压缩包
============================================
[root@localhost src]# ls
12 123 mulu
[root@localhost src]# tar -zcvf mulu.tar.gz mulu
mulu/
mulu/123.txt
mulu/124.txt
mulu/234.txt
mulu/list2/
mulu/list3/
mulu/list4/
[root@localhost src]# ls
12 123 mulu mulu.tar.gz
[root@localhost src]# rm -rf mulu
[root@localhost src]# ls
12 123 mulu.tar.gz
[root@localhost src]# tar -zxvf mulu.tar.gz
mulu/
mulu/123.txt
mulu/124.txt
mulu/234.txt
mulu/list2/
mulu/list3/
mulu/list4/
[root@localhost src]# ls
12 123 mulu mulu.tar.gz
[root@localhost src]#
5.3 zip
压缩文件和解压缩文件(.zip格式的) 它是保留源文件的
压缩文件: zip 压缩包名(带.zip) 原文件
解压文件: unzip 压缩包
====================================
[root@localhost src]# ls
12 123 mulu
[root@localhost src]# zip mulu.zip mulu
adding: mulu/ (stored 0%)
[root@localhost src]# ls
12 123 mulu mulu.zip
[root@localhost src]# rm -rf mulu
[root@localhost src]# ls
12 123 mulu.zip
[root@localhost src]# unzip mulu.zip
Archive: mulu.zip
creating: mulu/
[root@localhost src]# ls
12 123 mulu mulu.zip
[root@localhost src]#
5.4 bzip2
压缩文件和解压缩文件(.bz格式的) 它是保留源文件的,从下面的案例中可以看出,bzip2是不能压缩目录的,只能压缩文件
压缩文件: bzip2 -k 原文件
解压文件: bunzip -k 压缩包
==========================
[root@localhost src]# ls
12 123 mulu
[root@localhost src]# bzip2 -k mulu
bzip2: Input file mulu is a directory.
[root@localhost src]# ls
12 123 mulu
[root@localhost src]# bzip2 -k 123
[root@localhost src]# ls
12 123 123.bz2 mulu
[root@localhost src]# rm -rf 123
[root@localhost src]# ls
12 123.bz2 mulu
[root@localhost src]# bunzip2 -k 123.bz2
[root@localhost src]# ls
12 123 123.bz2 mulu
[root@localhost src]#
5.5 gzip
压缩文件和解压缩文件(.gz格式) ,也锁文件后它是不保留源文件的,而且解压后,也是不保留压缩文件的
压缩文件: gzip 文件
解压文件: gunzip 压缩包
=====================
[root@localhost src]# ls
12 123
[root@localhost src]# gzip 123
[root@localhost src]# ls
12 123.gz
[root@localhost src]# gunzip 123.gz
[root@localhost src]# ls
12 123
[root@localhost src]#
6.文本编辑器
以下是两种文本编辑器,相比较而言,vim功能更强大,而nano更简单易用,个人更喜欢nano,现在的部分linux发行版默认编辑器就是nano例如像debian,ubuntu,如果要使用vim必须安装vim软件包才能使用
6.1 vim编辑器
6.2 nano编辑器
nano比vim命令要简单,执行nano 文件名就进入了编辑模式,编辑完成后执行Ctrl+O保存,然后回车,最后执行Ctrl+O退出编辑模式
7. 创建和删除文件
7.1 touch
创建文件 例如:touch 123.txt 创建一个文件 touch 123.txt 234.txt 同时创建多个文件夹
[root@localhost mulu]# ls
[root@localhost mulu]# touch 123.txt
[root@localhost mulu]# ls
123.txt
[root@localhost mulu]# touch 124.txt 234.txt
[root@localhost mulu]# ls
123.txt 124.txt 234.txt
[root@localhost mulu]#
7.2 rm
删除文件 例如:
rm 123.txt 删除一个文件,但是会有提示确认是否删除
=============================================
[root@localhost mulu]# ls
123.txt 124.txt 234.txt test
[root@localhost mulu]# rm 123.txt
rm: remove regular empty file '123.txt'? Y
[root@localhost mulu]# ls
124.txt 234.txt test
rm 124.txt 234.txt 同时删除多个文件,但要多次确认
=============================================
[root@localhost mulu]# rm 124.txt 234.txt
rm: remove regular empty file '124.txt'? Y
rm: remove regular empty file '234.txt'? Y
[root@localhost mulu]# ls
test
rm -rf 123.txt
=============================================
[root@localhost mulu]# ls
123.txt 124.txt test
[root@localhost mulu]# rm -rf 123.txt
[root@localhost mulu]# ls
124.txt test
[root@localhost mulu]# rm -rf 124.txt test
[root@localhost mulu]# ls
[root@localhost mulu]#
注意:大家删除文件时要特别小心,以防出现误删除
8. 创建和删除文件夹
8.1 mkdir
创建空的文件夹
[root@localhost mulu]# ls
123.txt 124.txt 234.txt
[root@localhost mulu]# mkdir list
[root@localhost mulu]# ls
123.txt 124.txt 234.txt list
[root@localhost mulu]# mkdir list2 list3 list4
[root@localhost mulu]# ls
123.txt 124.txt 234.txt list list2 list3 list4
8.2 rmdir
删除空的文件夹,如果文件下有内容,要用rm -rf才能删除
[root@localhost list]# ls
[root@localhost list]# cd ../
[root@localhost mulu]# ls
123.txt 124.txt 234.txt list list2 list3 list4
[root@localhost mulu]# cd list
[root@localhost list]# ls
[root@localhost list]# mkdir list5
[root@localhost list]# ls
list5
[root@localhost list]# cd list5
[root@localhost list5]# ls
[root@localhost list5]# mkdir list6
[root@localhost list5]# ls
list6
[root@localhost list5]# cd list6
[root@localhost list6]# ls
[root@localhost list6]# touch 12.txt
[root@localhost list6]# ls
12.txt
[root@localhost list6]# cd ../../../
[root@localhost mulu]# ls
123.txt 124.txt 234.txt list list2 list3 list4
[root@localhost mulu]# rm -rf list
[root@localhost mulu]# ls
123.txt 124.txt 234.txt list2 list3 list4
[root@localhost mulu]#
9. cp
cp命令是用来复制文件或文件夹的,复制文件夹需要加上参数-r
[root@localhost src]# ls
12 123
[root@localhost src]# cp 123 124
[root@localhost src]# ls
12 123 124
[root@localhost src]# mkdir mulu
[root@localhost src]# ls
12 123 124 mulu
[root@localhost src]# cp -r mulu ma
[root@localhost src]# ls
12 123 124 ma mulu
[root@localhost src]# cp -r mulu ../ma
[root@localhost src]# cd ../
[root@localhost local]# ls
bin etc games include lib lib64 libexec ma sbin share src
[root@localhost local]#
10. mv
mv命令是用来移动或时重命名文件或文件夹的,如果只有一个文件名存在(两个都是文件名)或一个文件夹存在(两个都是文件夹名),则为重命名;如果文件名在前,文件夹名在后或者时两个文件夹名(两个都存在),则为移动
[root@localhost src]# ls
12 123 124 ma mulu
[root@localhost src]# mv 123 321 //将文件123重名为321
[root@localhost src]# ls
12 124 321 ma mulu
[root@localhost src]# mv 321 ma //将文件321移动到ma目录
[root@localhost src]# ls
12 124 ma mulu
[root@localhost src]# cd ma
[root@localhost ma]# ls
321
[root@localhost ma]# cd ../
[root@localhost src]# ls
12 124 ma mulu
[root@localhost src]# mv ma mulu //将文件夹ma移动到文件夹mulu
[root@localhost src]# ls
12 124 mulu
[root@localhost src]# cd mulu
[root@localhost mulu]# ls
ma
[root@localhost mulu]# mv ma mb //将文件夹ma重命名为mb
[root@localhost mulu]# ls
mb
[root@localhost mulu]#
11. clear
这个命令简单,clear回车,直接清屏。
12. echo
这个命令也简单,后面跟什么就输出什么,也可以跟表达式
[root@localhost mulu]# echo hellworld
hellworld
[root@localhost mulu]# echo "hell world"
hell world
[root@localhost mulu]# echo $SHELL
/bin/bash
[root@localhost mulu]# echo $(date)
Sat Sep 18 23:17:03 CST 2021
[root@localhost mulu]#
13. kill
主要时用来杀死进程的,当某个服务已经关闭,但是后台进程意外还是挂在,这个时候就适合用它来杀死进程或结束进程。
kill 进程号
kill -9 进程号 //加上参数-9表示强制杀死某个进程
14. ps
主要用来查看进程,通常和-ef 还有grep一起使用
15. grep
主要用来过滤查询结果,比如和less一起用:less 123.txt | grep “123” 和ps一起用ps -ef | grep 进程号
16. date
这个命令主要用来查询日期时间的
[root@localhost mulu]# date
Sat Sep 18 23:37:23 CST 2021
[root@localhost mulu]# echo $(date +%Y-%m-%d)
2021-09-18
[root@localhost mulu]# echo $(date +%Y/%m/%d)
2021/09/18
[root@localhost mulu]# echo $(date +%z)
+0800
[root@localhost mulu]# echo $(date +%:z)
+08:00
[root@localhost mulu]# echo $(date +%::z)
+08:00:00
[root@localhost mulu]# echo $(date -d "3 days ago" +%Y-%m-%d)
2021-09-15
17. 用户命令
18. 文件权限
|