【Linux 系列笔记】14 Linux中必须掌握的实用指令(程序员必须掌握的指令!又全又详细 你还在等什么~)

作者:MiTu_-_

本帖内容著作权归作者所有,转载请务必保留本文链接


1.实用小技巧

1)Tab :自动补全文件名称。
2)↑ ↓ :调出上一次输入的指令。
3)Ctrl + Space :切换输入法。
4)Ctrl + c :终止正在运行的程序。
5)Ctrl + Insert :复制。Shift + Insert :粘贴。
6)* :通配符。表示匹配 0 个或多个字符,相当于全部。在查找文件时会很方便。(在 * 号前面加 \ 来转义)


2. 运行级别

2.1)运行级别
  • 0:关机
  • 1:单用户(多用来找回丢失密码)
  • 2:多用户无网络服务
  • 3:多用户有网络服务,命令行界面(程序猿)
  • 4:系统未使用保留给客户
  • 5:图形界面(普通用户)
  • 6:系统重启

常用的运行级别是 3(命令行界面) 和 5(图形界面)。
init :临时切换到指定级别。

init 指定级别
例:init 2

如果想了解 CentOS 6 和 CentOS 7 运行级别的差别运行级别具体的内容,可以参考此贴:
CentOS 6 和 CentOS 7 运行级别的差别

2.2)忘了 root 密码?

此时我们可以切换到 1 运行级别,也就是单用户模式。因为是单用户,所以不需要密码。进去之后就可以修改你的 root 密码了。具体内容可以参考此贴:
忘了 root 密码?教你分分钟修改 root 密码!(包含 CentOS 6 和 CentOS 7)


3. 帮助指令

当我们对某个指令不熟悉时,我们可以使用 Linux 提供的帮助指令来了解这个指令的使用方法。
1)main (manual):查看手册。按 q 可以退出。

man 指令
例:man ls

2)help :获得 shell 内置命令的帮助信息。

help 指令
例:help cd

help 是内部命令的帮助,比如 cd;man 是外部命令的帮助,比如 ls。哪个用不了就用另一个指令。
我还是建议不懂的命令直接度娘。


4. 文件目录类

文件目录类指令是最多的指令,所以用的也比较多,必须要掌握。以下使用语法中,“ [ ] ” 表示可选项,可以有,也可以没有。
1)pwd (print woking dictionary):显示当前工作目录的绝对路径。
可以点击此链接查看:Linux 的目录结构

pwd

2)ls :显示当前目录信息。

ls [选项] [目录或文件]

常用选项:

-a :显示当前目录所有文件和目录,包括隐藏的。
-l :以列表的方式显示信息(也可以组合 -la / -al 使用)。
例:ls -l

ll :以列表方式显示当前目录详细信息。(相当于 ls -l 的简写)
如果想了解 ll 指令执行结果后各个参数(文件属性)的含义,可以跳转此贴:一张图让你明晰 ls -l / ll 执行结果各参数含义

3)cd :切换到指定目录。可用绝对路径相对路径。(斜杠在前表示绝对路径,没有斜杠表示相对路径;斜杠在后表示某文件夹下的一个文件。后面的 / 是可以省略的。注意:在某些情况下,后面加 / 可能会造成部分命令不能使用,如 rm)

cd [参数]
例:cd /home

常用参数:

cd ~ (注意有空格)/ cd:回到家目录。root的家目录是 /root,其他的用户一般是在 home 里自己的家目录如 /home/user。
cd . . (注意有空格):回到上一级。
例:假如你此时在 root 目录下。cd . ./home

4)mkdir(make directory):创建目录 / 文件夹。(默认只能创建一个目录,可用 -p 创建多级)

mkdir [选项] 要创建的目录
例:mkdir /home/1

常用选项

-p:创建多级目录
例:mkdir -p /home/2/2.1

5)rmdir(remove directory):删除目录 。

rmdir [选项] 要删除的空目录
例:rmdir /home/1

6)touch:创建空文件,可以创建多个文件(注意不是文件夹)。和 vim 不同的是,vim 需要 wq 退出保存后才能创建文件。

touch 文件名
例:touch 1.txt 2.txt

7)cp:拷贝文件到指定目录。(一定要注意你当前目录位置!一定要记住之前讲的目录树结构!)

cp [选项] 原文件 目标地址
例:cp 1.txt 2

常用选项

-r:递归复制整个文件夹。
例:cp -r 1 2(假设 1 下面有很多文件。如果是覆盖拷贝,可用 \cp xxx 强制覆盖)

8)rm:移除文件或目录。

rm [选项] 要删除的文件或目录
例:

常用选项

-r(recursive):递归删除整个文件夹。
-f(force):强制删除不提示。(也可以组合 -rf / -fr 使用)。

rm -rf

rm -rf 要删除的目录
例:rm -rf /home/2

rm -rf /*   这就是大名鼎鼎的 从删库到跑路 的命令了。 /* 指的是 根目录“ / ”下的所有文件。

慎用 rm -rf 指令。一般公司如果要删除文件,需要mv文件到指定目录/delete/,会有一个定时任务,每周清空/delete/下文件。

9)mv:移动文件与目录 和 重命名。

重命名:mv 原文件名 目标文件名(从相对路径来看,重命名实际上就是把当前位置的原文件移动到当前位置的目标文件,并改名字。前提:目标位置不含相同的重命名名称)
例:mv 1.txt 2.txt

移动文件不改名:mv 原文件 目标位置
例:mv 1.txt /root

移动文件改名:mv 原文件 目标位置+目标文件名(目标位置不含相同的重命名名称)
例:mv 1.txt /root/2.txt

10)cat:查看文件内容。(只读方式,可以追加文件)

cat [选项] 要查看的文件

常用选项

-n:显示行号。
| more(在结尾加):分页显示文件内容。| 是管道符, more 代表分页显示。(“ 回车 ”是下一行;“ 空格 ”是下一页;“ q ”是退出;具体快捷键在下面。)
例:cat -n /etc/profile | more  or  more /etc/profile

11)more:分页查看文件内容。more 指令是基于 vi 编辑器的文本过滤器,它以全屏的方式按页显示文本文件内容,其中内置了若干快捷键,如下所示:

more 要查看的文件
例:more /etc/profile

操作功能说明
空格键【Space】向下翻一页
回车键【Enter】向下翻一行
q离开more,不显示文本内容
Ctrl + f(forward)向下翻一页
Ctrl + b(backword)向上翻一页
=输出当前行号
:f输出文件名和当前行号

12)less:分屏查看文件内容。它与 more 相似,但比 more 更强大,支持各种终端。less 指令在显示文件时,并不是一次将整个文件加载完后才显示,而是根据显示需要加载相应内容。对于显示大型文件具有很高的效率。其中内置了若干快捷键,如下所示:

less 要查看的文件

操作功能说明
空格键【Space】向下翻一页
【Pagedown】向下翻一页
【Pageup】向上翻一页
/字串向下搜寻【字串】:n:向下查找;N:向上查找
?字串向上搜寻【字串】:n:向下查找;N:向上查找
q离开 less,不显示文本内容

13)> 和 >>:> 输出重定向(覆盖)和 >> 追加(在文末追加)。
例:

cal > 1.txt      将日历写入文件 1.txt(覆盖写)
ll >> 1.txt       将 ll 指令列出的内容在文件1.txt 文末追加。(不覆盖写)
cat 1.txt > 2.txt    将 1.txt 的内容覆盖到 2.txt 中
echo “hello” >> 1.txt  将 hello 追加到 1.txt 文末

14)echo:输出内容到控制台。

echo [选项] [输出内容]
例:echo $PATH    输出当前的环境变量
  echo “hello”     输出 hello

15)head:显示文件开头部分的内容,默认情况下 head 指令显示文件的前 10行内容。

head 文件名     显示前 10行
head -n 5 文件名   显示前 5行

tail:显示文件末尾部分的内容,默认情况下 tail 指令显示文件的末尾 10行内容。按 Ctrl + c 可以退出。

tail 文件名      显示后 10行
tail -n 5 文件名    显示后 5行
tail -f 文件名     查看日志文件,可动态监控数据的变化,工作中经常使用。cat 指令是静态查看文件。

16)ln:软连接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径。

ln -s [源文件目录] [软链接名称](源文件路径可以用 相对路径绝对路径
例:ln -s /root Linktoroot  创建一个到 /root 目录,名为 Linktoroot 的软链接。

使用 rm  or rm -f 来删除软链接(软链接后面加 /,会删不掉)小心误删 root (✪ω✪)

17)history:查看已执行过的历史指令,也可以执行历史指令。

history [n](n为查看 n 条指令)

!n:执行历史中的第 n 条指令。

history-c:删除历史指令。


5. 时间日期类

1)date:显示当前日期;设置时间。

date     显示当前详细时间
date “+%Y”  显示年
date “+%m”  显示月
date “+%d”  显示日
date “+%Y-%m-%d %H:%:M:%S” 显示年月日时分秒(中间的连接符可以随意写,也可以写汉字)

设置时间

date -s “”xxxx-xx-xx xx:xx:xx“”

2)cal(calender):显示日历时间。

cal [选项]
例:cal 2020  显示 2020年 所有日历


6. 搜索查找类

1)find:从指定目录向下递归地遍历其各个子目录,将满足的文件或者目录显示在终端。

find [搜索范围] [选项]
例:find /home -name  \ *.txt  查找 home 目录下的 .txt 文件。
  find /opt  -user  1    查找 opt 目录下用户名为 1 的文件
  find /   -size  +20M  查找根目录下大于 20MB 的文件(不带单位默认为 k)

常用选项

-name <查询方式>  按照指定文件名查找文件。
-user <用户名>   查找属于指定用户名的所有文件。
-size <文件大小>   按照指定的文件大小查找文件。(+n 大于 -n 小于 n 等于)

2)locate:快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库(/var/lib/mlocate/mlocate.d)实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快,为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。locate 查询是模糊查询, 比如你查询a.txt,ga.txt也是会被搜索到的(注:CentOS 7 提示没有这个命令的请执行 yum install mlocate 安装 locate 相关文件)
由于 locate 指令基于数据库查询,所以第一次运行前,必须用 updatedb 指令创建 locate 数据库

updatedb

locate 搜索文件
例:locate 1.txt

3)grep 管道符号 |:grep 过滤查找,管道符 “|”,表示将前一个命令的处理结果输出传递给后面的命令处理。grep 常和 | 连用。

grep [选项] 查找内容 源文件
例:cat 1.txt | grep -n nihao

常用选项

-n:显示匹配行及行号。
-i:忽略字母大小写。


7. 压缩和解压缩

1)gzip / gunzip:gzip 用于压缩文件,gunzip 用于解压。压缩完后,不保留原文件。不常用。

gzip  文件名 (只能压缩为 *.gz 文件)
gunzip 文件名 (解压缩)
例:gzip 1.txt
  gunzip 1.txt.gz

2)zip / unzip:zip 用于压缩文件,unzip用于解压。保留原文件。工作中比较常用。(没有此功能的,先 yum -y install zip 然后 yum -y install unzip)

zip  [选项] xxx.zip 压缩内容(压缩文件或目录)
unzip [选项] xxx.zip(解压缩)
例:zip -r mypackage.zip /home     将目录 home 下的所有文件压缩成 mypackage.zip
  unzip -d /opt/tmp/ mypackage.zip    将 mypackage.zip 解压到 /opt/tmp 目录下。

zip 常用选项

-r:递归压缩,即压缩目录。

unzip 常用选项

-d:指定压缩后文件的存放目录。

3)tar:打包指令。最后打包后的文件是 .tar.gz 的文件。

tar [选项] xxx.tar.gz 打包的内容

常用选项

-c:产生 .tar 打包文件。
-v:显示详细信息。
-f:指定压缩后的文件名。
-z:打包同时压缩。
-x:解包 .tar 文件。(压缩常用 -zcvf,解压常用 -zxvf,解压的时候会自动判断格式,所以 z 可以不写直接 tar -xvf,不想看过程可以省略 v)

例:

压缩:tar -zcvf a.tar.gz 1.txt 2.txt  将1.txt 2.txt 打包成 a.tar.gz
解压:tar -zxvf   a.tar.gz(不指定目录)
   tar -zxvf a.tar.gz -C /root(C 表示 change,改变目录。)(指定目录)



欢迎各位客官订阅我的 Linux 系列笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值