Linux 常用命令总结(一)
一、基本概念
1、为什么学习命令操作而不用界面操作?
Linux 作为服务器,使用图形界面会占用更多的系统资源,且影响稳定性、安全性。而且一个服务器连个显示屏都没有,图形界面毫无作用,所以命令行操作是 Linux 的必备技能。
常用命令手册:
https://www.runoob.com/linux/linux-command-manual.html
2、命令格式
【格式:】
[root@localhost~]# 命令 [选项] [参数]
注:
[root@localhost~]# 是登录系统后看到的内容。
其中
[]、@ 没有特殊含义,作为分隔符号。
root 表示当前登录的用户,切换成普通用户,会显示普通用户名。
localhost 表示当前主机名。~ 表示当前所在的目录,初始登录时显示 ~,表示为家目录(主目录)。
root 用户家目录在/root,普通用户家目录在 /home/用户名。
# 表示当前登录用户为管理员,若为普通用户,则显示为 $。
命令 [选项] [参数]
其中
选项,为可选项,用于调整命令的功能。
参数,为可选项,用于调整命令的操作对象。
3、文件类型
Linux 内部一切皆文件,不同的类型的文件代表不同的意义。
【类型:】-表示常规文件,如 文本文件、压缩文件、二进制文件。
d 表示目录文件(directory)
b 表示块设备文件(block device),如硬盘
c 表示字符设备文件(character device),如键盘、鼠标
s 表示套接字文件(socket),用于网络数字连接、通信
p 表示管道文件(pipe)
l 表示链接文件(symbolic link),即快捷方式
4、帮助命令
用于查看命令的说明文档。
【格式:】man[命令] 弹出一个窗口,按 Q 退出
help [命令] 控制台显示
【举例:】
[root@localhost test]# helpecho
二、文件目录操作指令
1、pwd(显示当前目录的绝对路径)
指的是 print work directory 的缩写,即打印工作目录。
用于输出当前工作目录的绝对路径,以便于判断当前所在目录的位置。
【格式:】pwd【举例:】
[root@localhost~]# pwd
2、ls(显示当前目录下的文件、目录)
指的是 list 的缩写,即目录、列表。
用于输出当前工作目录、或者指定目录下的所有内容。
【格式:】ls[选项] [目录名]
注:
若目录名不存在,则输出当前工作目录下的内容。若存在,则输出指定目录的内容。
常用选项:-a 用于显示全部文件,包括以 . 开头的隐藏文件。-h 以一种易读的方式显示文件或者目录的大小。K、M。-l 以列表的形式列出目录信息。ls -l 可以简写为 ll
【举例:】
[root@localhost~]# ls -alh
3、cd(切换目录)
指的是 change directory 的缩写,即切换目录。
用于切换工作目录。
【格式:】
cd [相对路径/绝对路径]
注:
特殊路径符号:
. 代表当前目录
.. 代表当前目录的上一级目录~代表当前目录的家目录(主目录)-代表上一次操作所在的目录/代表根目录
【举例:】
[root@localhost test]# cd/
4、mkdir(创建一个目录)
指的是 make directories 的缩写,即创建目录。
用于创建一个目录。
【格式:】mkdir[选项] 目录名
注:
常用选项:-p 用于递归创建所有的目录。对于多级目录且有些目录不存在的情况,若不使用 p 选项,则需要自己一级级的创建目录。-m 用于自定义目录的权限。
【举例:】
[root@localhost test]#mkdir -p a/b/c
5、rmdir(删除一个空目录)
指的是 remove empty directories 的缩写,即删除空目录。
用于删除空目录,只有空目录才能被删除,不是空目录,会出错。
【格式:】rmdir[选项] 目录名
注:
常用选项:-p 递归删除空目录,从最下层目录往上删
【举例:】
[root@localhost test]#rmdir -p a/b/c
6、rm(删除文件、目录)
指的是 remove 的缩写,即删除。
用于永久性删除没用的文件,慎用。删除前最好进行一次备份。
【举例:】rm[选项] 文件或目录
注:
常用选项:-f 强制删除,不会提示删除信息,直接删除目录或文件-r 递归删除,可用于删除多级目录-i 显示提示信息
【举例:】
[root@localhost test]#rm -fr a/
7、touch(创建空文件)
用于创建空文件。
【格式:】touch文件名touch文件名1 文件名2
【举例:】
[root@localhost test]#touch test.txt test2.txt
8、cp(拷贝文件或目录)
指的是 copy 的缩写,即拷贝。
用来复制文件、目录。可以自定义文件名。
【格式:】cp[选项] 源文件位置 目标文件位置
注:
常见选项:-r 用于递归复制目录
【举例:】
[root@localhost test]#cp test.sh d/test2.sh[root@localhost test]#cp -r d a/b/
9、mv(移动或重命名文件、目录)
指的是 move 的缩写,即移动。
用于移动或重命名目录、文件。
【格式:】mv源文件位置 目标文件位置
【举例:】
[root@localhost test]#mv test.sh test2.sh[root@localhost test]#mv test2.sh a/
10、ln(创建软链接、即快捷方式)
用于给文件、目录创建一个软链接,即快捷方式,通过软链接可以访问源文件。
【格式:】ln[选线] 源文件 目标文件
注:-s 用于建立软链接文件,如果不存在,则会创建硬链接文件。软链接用的较多。-f 强制建立文件,若目标文件存在,则先删除目标文件再创建链接文件。
【举例:】
[root@localhost test]#ln -s a b
[root@localhost test]#ln -s a.txt c
11、vim(打开文本编辑器)
用于对文本进行修改。
可以查看:https://www.cnblogs.com/l-y-h/p/11436870.html#_label1
12、history(查看历史指令)
用于查看历史指令,以及执行历史指令。
【格式:】
history 查看所有的历史指令
history10 查看最近 10条历史指令
history-c 用于清空历史指令!历史编号 用于执行历史的某条指令
【举例:】
[root@localhost test]# history10[root@localhost test]#!307[root@localhost test]# history-c
13、 、>> (重定向、追加)
输入重定向:指的是重新指定设备来代替键盘作为新的输入设备。
输出重定向:指的是重新指定设备来代替显示屏作为新的输出设备。
通常新的输入设备指的是 文件、命令的执行结果。新的输出设备指的是 文件。
【格式:】
命令
命令<
命令>文件 输出重定向,将命令的正确的执行结果输入到文件中,若文件已存在,会覆盖
命令>>文件 输出追加,将命令的正确的执行结果输入到文件中,若文件已存在,则在原数据后追加数据。
命令2>文件 将命令执行的错误输出输入到文件中,若文件存在,则覆盖
命令2>>文件 将命令执行的错误输出输入到文件中,若文件存在,则在原数据后追加。
命令&>> 文件 将命令执行结果(综合 >> 、 2>>)输入到文件中,若文件存在,则追加数据。
【举例:】
[root@localhost test]#cat << 0 >test.txt
[root@localhost test]# cd d>>test.txt
[root@localhost test]# cd d2>>test.txt
[root@localhost test]# cd f&>> test.txt
14、echo(显示内容到控制台)
用于输出内容到控制台。
【格式:】echo[选项] [输出内容]
注:
选项:-e 用于启用转义字符
【举例:】
[root@localhost test]#echo -e "hello \t world"
15、cat(连接文件并显示内容)
指的是 concatenate 的缩写,即连接。
常用于显示文本内容。会一次性显示出所有内容,不适合查看大文件,影响效率。
【格式:】cat[选项] 文件名1 [文件名2 ...] 可以连接多个文件,并显示cat 文件名 | more可以用于查看大文件
注:
选项:-n 显示行号
【举例:】
[root@localhost test]#cattest.txt
[root@localhost test]#cat -n test.txt test2.txt
16、more(分屏显示文件内容)
通常用于分屏查看大文件。
会打开一个交互页面,并显示百分比。
【格式:】more文件名
【常用交互命令:】
Q 退出交互页面
回车键 显示下一行
空格键 显示下一页
B 向上翻页
F 向下翻页
【举例:】
[root@localhost test]#man more >test.txt
[root@localhost test]#more test.txt
17、less(分屏查看文件内容)
与 more 类似,但比 more 更高级。
区别:
(1)less 按需加载文件,不是一次性加载完毕,效率比 more 强。
(2)less 退出后,命令行上不会显示文件,more 会显示。
(3)less 可以通过上下键显示上下内容,more 不行。
(4)阅读到文件末尾。less 不会自动退出,more会自动退出。
【格式:】less文件名
【常用交互命令:】
Q 退出交互页面
回车键 显示下一行
空格键 显示下一页
B 向上翻页
F 向下翻页
g 回到文件首行
G 回到文件末尾
【举例:】
[root@localhost test]#man less >test.txt
[root@localhost test]#less test.txt
18、head、tail (显示文件头部、尾部的内容)
head 用于显示指定文件头部若干行的文件内容。
tail 用于显示指定文件尾部若干行的文件内容。
【head格式:】head[选项] 文件名
注:
选项:-n 行数,默认显示 10行-v 显示文件名
【tail格式:】tail[选项] 文件名
注:
选项:-n 行数,默认显示 10行
【举例:】
[root@localhost test]#headtest.txt
[root@localhost test]#tail -20 test.txt
三、压缩、解压目录或文件
1、tar 命令
tar -cvf 用于文件打包(后缀名为 .tar)。
tar -xvf 用于文件解包。
注:
打包与压缩的区别:
打包是将文件和目录当成一个集合,此集合占用空间为 文件目录占用的空间和。
压缩是通过某种算法,将这个集合中的内容进行某种变化,最终集合占用的空间要小于 文件目录占用的空间和。
【格式:】tar[选项] 文件压缩、解压后的路径 待压缩、解压的路径
注:
选项:-z 使用 gzip方式进行压缩、解压(后缀名为 .gz)-j 使用 bzip2方式进行压缩、解压 (后缀名为 .bz2)-c 表示进行打包操作(后缀名为 .tar)-x 表示进行解包操作-v 表示显示解压、打包的过程-f 表示指定解压、压缩的文件名-C 表示指定解压的目录
常用组合:-zcvf 使用 gzip 方式进行打包并压缩(后缀名为 .tar.gz)-zxvf 使用 gunzip方式进行解压并解包-jcvf 使用 bzip2 方式进行打包并压缩(后缀名为 .tar.bz2)-jxvf 使用 bunzip2方式进行解压并解包
【举例:】
[root@localhost test]#tar -zcvf ./b/a.tar.gz a
[root@localhost test]#tar ./b/a.tar.gz -C ./c/
2、zip、unzip 命令
zip 用于压缩文件或目录(后缀名为 .zip)。
unzip 用于解压。
【zip格式:】zip[选项] 文件压缩后的路径 待压缩的路径
注:
选项:-r 表示递归压缩目录-m 表示文件压缩完后,删除源文件-v 表示显示压缩的过程
【unzip格式:】unzip[选项] 压缩包名
注:
选项:-d 可以指定解压的目录
【举例:】
[root@localhost test]#zip -rv b.zipa
[root@localhost test]#unzip -d ./f b.zip
3、gzip、gunzip 命令
gzip 只用于压缩文件,不会压缩目录。(后缀名为 .gz)
gunzip 用于解压文件。
【gzip格式:】gzip[选项] 压缩的路径
注:
选项:-c 将压缩文件输出到标准输出中,保留源文件。-r 压缩目录下的文件。-d 解压文件
【gunzip格式:】gunzip[选项] 压缩的文件
注:
选项:-r 递归解压目录中的文件,等价于 gzip -rd
【举例:】
[root@localhost test]#gzip -r a
[root@localhost a]#gunzip -r ../a
[root@localhost a]#gzip -c a.txt >a.txt.gz
[root@localhost a]#gzip -d a.txt.gz
4、bzip2、bunzip2 命令
bzip2 只用于压缩文件,不用于压缩目录。(后缀名为 .bz2)
bunzip2 用于解压文件。
注:
bzip2 与 gzip的区别:
gzip 可以使用 -r 选项递归压缩目录内的文件。bzip2 没有这个选项,即 bzip2 不能压缩目录相关的内容。
【bzip2格式:】bzip2[选项] 源文件
注:
选项:-k 压缩文件,并保留源文件-d 解压文件-v 显示压缩文件的过程-f 若解压后文件存在时,可以强制解压替换
【bunzip2格式:】bunzip2[选项] 压缩的文件
注:
选项:-k 解压文件,保留源文件-v 显示解压文件的过程
【举例:】
[root@localhost a]#bzip2 -kv a.txt
[root@localhost a]#bzip2 -d a.txt.bz2
[root@localhost a]#bzip2 -v a.txt
[root@localhost a]#bunzip2 -v a.txt.bz2
四、时间日期类指令
1、date(显示当前日期)
用于显示当前日期,以及设置日期。
【格式:】date显示默认格式的日期date "+%Y - %m - %d %H : %M : %S" 自定义显示格式(+不可省)date -s "2020-3-23 15:10:00"设置时间
【举例:】
[root@localhost test]#date -s "2020-3-23 15:10:00"[root@localhost test]#date "+%Y - %m - %d %H : %M : %S"
2、cal(显示日历)
用于显示日历。
【格式:】
cal 查看当前月的日历
cal 年份 查看某年的日历
五、搜索查找类
1、find(查找文件、目录)
用于查找文件、目录。
【查找文件格式:】find[路径] [选项] [表达式]
注:
路径 指的是 被查找的路径,包含子目录,默认为当前目录(.)
表达式 指的是 被查找文件匹配的格式
选项:-name 根据文件名查找-iname 根据文件名查找,并忽略大小写-mtime 显示过去 n 天前被修改的文件-atime 显示过去 n 天被读取过的文件-maxdepth 最多查找 n 层目录-not 用于查找不满足条件的文件,可以使用 !替换-o 等价于 OR 操作符-type 可以根据 文件类型进行查找,比如-type f、-type d-perm 用于根据文件权限进行查找,比如 -perm 774
-size 用于根据 文件大小查找,(+ 表示大于,- 表示小于),比如 -size +50M-empty 用于查找空文件、空目录
【删除找到的文件:】find . -type -f -name "a.txt" -exec rm -i {} \; 删除找到的文件,显示提示信息。 ; 不可少find . -type -d -name "a.txt" -exec rm -fr {} \; 强制递归删除目录
【举例:】
[root@localhost test]#find /root/test -type f -name "*.txt" -o -type d -name "b"[root@localhost test]#find . -maxdepth 3 -type d -mtime +1
2、locate(查找文件)
用于快速定位文件路径。根据事先建立好的数据库进行查询(/var/lib/mlocate/mlocate.db)。
为了保证数据准确性,每次查询前,需要手动 执行以下 updatedb。
【格式:】locate文件名
【举例:】
[root@localhost test]#touchb.txt
[root@localhost test]# updatedb
[root@localhost test]#locate b.txt
3、grep(过滤查找)
对于查找的内容,可以根据自己的需求过滤,最终得到想要的结果。常与 管道符 | 连用。
管道符(|):命令A | 命令B, 表示将前一个命令 A 的结果传递给下一个命令 B 执行。
【格式:】grep[选项] 查找内容(可以是正则表达式) 源文件
注:
选项:-i 忽略大小写-n 显示行号-v 查找不匹配的内容
【举例:】
[root@localhost test]#grep -injava test.txt
[root@localhost test]#grep -vn va$ test.txt
4、which(查找命令所在的绝对路径)
用于查找命令所在位置的绝对路径。从 $PATH 中查找。
【格式:】which命令
【举例:】
[root@localhost bin]#which pwd
原文链接:https://www.cnblogs.com/l-y-h/p/12563397.html
如有疑问请与原作者联系
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有