Linux命令合集-详解

零、基础命令:

现有内容:
查看当前内容:ls
切换路径:cd
新建文件:touch
新建文件夹:mkdir
删除:rm
复制:cp
移动:mv
查看文件内容:cat
创建共享文件夹
历史记录:history
man手册
常用快捷键、基础命令

1.基本认识

 cl		@	 cl		:	~		      $ 
用户名		主机名	当前路径(家目录)	命令提示符

查看用户名:whoami
查看主机名:hostname
查看当前路径:pwd (当前用户目录)/home/cl
回到家目录:cd

2.linux文件系统标准

倒置树形方式
/:根目录
/home:存放所有用户的目录
/bin: 二进制文件,存放普通用户的命令
/dev:系统的设备文件
/lib:存放与系统有关的库文件
/mnt:挂载目录
/etc:配置文件

3.ls

功能:查看当前路径下的文件
ls -a:列出当前路径下所有文件,包括隐藏文件
ls -i:查看所有文件的inode号
ls -l:列出当前路径下所有文件的详细信息

 d	rwxrwxr-x  3   cl	  cl   4096   18 15:47     demo
类型 权限     链接数 用户名 组名  大小   最后一次修改的时间 文件名

5.文件类型

bsp-lcd
b:块设备文件 block 存储设备(硬盘、sd卡) /dev
s:套接字文件 socket
p:管道文件 pipe
-:普通文件
l:软链接文件 类似于windows的快捷方式
c:字符设备文件 鼠标、键盘 /dev/input/mouse
d:目录文件 文件夹

6.文件权限:drwxrwxr-x

rwx				rwx		    r-x
当前用户权限		组权限		其他用户权限
111		        111		    101

775
r:读权限
w:写权限
x:可执行
-:无权限
修改文件权限:chmod

chmod   777   demo
chmod  权限值   文件名

要把一个文件夹下所有子文件夹中文件赋权限

chmod -R 777 文件名

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

-c : 若该档案权限确实已经更改,才显示其更改动作

-f : 若该档案权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

–help : 显示辅助说明

7.cd 切换路径

cd + 绝对路径 :从根目录下开始索引(pwd查看绝对路径)
cd + 相对路径 :相对于当前路径开始索引
. :表示当前
… :表示上一级
cd ~:回到家目录
cd :回到家目录
cd -:回到上一次的路径
cd /:回到根目录

8.新建文件touch/文件夹mkdir

新建普通文件:touch 普通文件名.后缀
同时创建多个普通文件:

touch 1.c 2.h 3.txt

创建一个同名文件:更新时间戳

新建目录文件:mkdir 文件夹名
同时创建多个文件夹:mkdir 文件夹1名 文件夹2名
创建一个同名文件夹:X!文件已存在
同时创建具有层级关系的文件夹:mkdir -p 文件夹1/文件夹2/文件夹3

9.删除 rm

删除普通文件 :rm + 普通文件名
删除文件夹: rm -r 文件夹名
强制删除文件夹: rm -rf 文件夹名

10.复制 cp

复制普通文件:cp 普通文件名 目标路径 :将普通文件复制并粘贴到目标路径下
复制文件夹: cp -r 目录文件名 目标路径 :将目录文件复制并粘贴到目标路径下
cp 普通文件名 路径/新文件名 :另存为
例:将1.c复制到Music下并改名为hello.c:

eg:cp 1.c ~/Music/hello.c

11.移动 mv

将文件/文件夹移动到目标路径下:
mv 文件/文件夹名 目标路径
重命名:
mv 原文件名 新文件名

12.查看文件内容 cat

cat

1.一次显示整个文件。

cat   filename

这里可以是一个文件或多个文件,执行后会以追加的形式展示

2.从键盘创建一个文件。

cat  >  filename

按下Ctrl+D退出
只能创建新文件,不能编辑已有文件

3.将几个文件合并为一个文件。

cat   file1   file2  > file

13.创建共享文件夹

首先在windows里面创建一个文件夹(不要有中文)
虚拟机->设置->选项->共享文件夹->总是启用->添加->选中之前创建的文件夹->完成(ubuntu子系统可以直接在windows下操作文件,就不需要共享文件夹了,但速度不快)

/mnt/           //后面就根据自己的路径找共享文件夹咯(ls查看当前路径下文件)

15、历史记录

history:查看历史命令
history num:显示num条历史记录

16、man手册

如何看懂man手册
man ls:查看ls命令的手册
man有多个手册,可用man [num] <关键字>来标识查看第几个手册

1:命令
2:系统调用
3:库函数

17、wc统计指定文件中的字节数、字数、行数

wc -w 文件名:显示单词个数
wc -l 文件名:显示行数
wc -c 文件名:显示字符个数

18、通配符

配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符

通配符含义实例
星号(*)匹配任意长度的字符串用file_*.txt,匹配file_wang.txt、file_Lee.txt、file3_Liu.txt
问号(?)匹配一个长度的字符用file_?.txt,匹配file_1.txt、file1_2.txt、file_3.txt
方括号([…])匹配其中指定的一个字符用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
方括号([ - ])匹配指定的一个字符范围用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt
方括号([^…])除了其中指定的字符,均可匹配用file_[^otr].txt,除了file_o.txt、file_r.txt和file_t.txt的其他文件

常用的快捷键

放大终端:ctrl shift +
缩小终端:ctrl -
清屏:ctrl l
clear
查看历史命令:上下键
补全:tab
su:用户切换命令,默认为切换到超级管理员,su <用户名>为切换为相应用户
sudo:暂时以管理员权限执行某个命令
reboot:重启系统,需要超级管理员权限
reboot -f:强制重启
shutdown:关机

sudo shutdown -h now:立即关机
sudo shutdown -r now:立即重启
sudo shutdown -h +10 “byebye”:定时10分钟后关机
sudo shutdown -r +10 “byebye”:定时10分钟后重启

一、底行模式常用指令

:q>不保存退出
:q!不保存强制性退出
:w保存编辑
:wq保存并退出
:set nu显示行号
:set nonu取消行号
:Is 列出打开的所有文件
:n 切换打开的文件(向后)
:N 切换打开的文件(向前)
:prep切换打开的文件(向前)
:15 光标快速定位到第15行
/xxx 从光标位置向后搜索xxx,搜索到后定位到行
?xxx 从光标位置向前搜索xxx,搜索到后定位到行

一点五、插入模式:编辑文件

编辑文本: vi(默认)、vim + 文件名
三大模式切换(命令模式,(插入)编辑模式,(末行)底行模式)
i 切换到输入模式,以输入字符
esc 退出输入模式,切换到命令模式
: 切换到命令模式,以在最底一行输入命令。
底行模式:
保存:w
另存为: w 路径/文件名
退出:q
保存并退出:wq
强制操作:!
另存为:w 文件名
将文档还原成最原始的状态:e!
读取文件内容到当前文本:r 文件名
分屏:vsp
指定行复制:5,10y
指定行剪切:5,10d
查找: /str (str表示要查找的字符串)
替换: s/str1/str2 :将光标所在行的首个str1替换成str2
s/str1/str2/g :将光标所在行的所有str1替换成str2
% s/str1/str2/g :将全文的所有str1替换成str2
1,$ s/str1/str2/g :将全文的所有str1替换成str2


二、命令模式常用指令

h 光标左移
j 光标下移
k 光标上移
| 光标右移
x删除光标所在字符
u撤销编辑
ctrl+r恢复编辑
ctrl + f 向下翻页(front)
ctrI + b 向上翻页(back)
ctrI + d 向下翻半页(down)
ctrI + u 向上翻半页(up)
dd 删除光标所在行
32G定位到32行
o 在光标所在行的下方插入一-行并切换到输入模式
yy 复制光标所在的行
p 在光标所在行的下方粘帖
P 在光标所在行的上方粘帖
单行复制:yy
多行复制:nyy (n是行数)
粘贴:p
单行删除/剪切:dd
多行删除/剪切:ndd
撤销:u
恢复:ctrl r
光标移动到首行 gg
光标移动到末行 G
光标移动到行首:0
光标移动到行尾:$
代码格式整理:gg=G

/ 进入搜索状态

三、压缩-解压

Linux 系统中压缩文件夹的命令是 tar。你可以使用如下的命令压缩文件夹:

tar -czvf 压缩文件名.tar.gz 要压缩的文件夹名

这条命令会将:文件夹 要压缩的文件夹名 压缩成名为 压缩文件名.tar.gz 的压缩包。

你也可以使用 zip 命令来压缩文件夹:

zip -r 压缩文件名.zip 要压缩的文件夹名

这条命令会将文件夹 要压缩的文件夹名 压缩成名为 压缩文件名.zip 的压缩包。

tar –xvf file.tar  解压 tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2   解压 tar.bz2
tar –xZvf file.tar.Z   解压tar.Z
unrar e file.rar 解压rar
unzip file.zip 解压zip

更多tar选项->tar命令选项补充


五、文件搜索

1、文件搜索:find

命令所在路径:/bin/find
语法:find [搜索范围] [匹配条件]
功能描述:文件搜索

1.1、locate

locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

locate命令的使用实例:

locate /etc/sh

搜索etc目录下所有以sh开头的文件。

locate ~/m

搜索用户主目录下,所有以m开头的文件。

locate -i ~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

2、以文件名查找:find

find /etc -name init

搜素etc目录下以文件名为init的文件,注意是精确搜索

find /etc -name *init* 

搜索etc目录下包含init的文件,*通配符匹配任何字符包括零个字符。

find /etc -name init???

搜索etc目录下init后加三个字符的文件。?通配符匹配一个字符

find /etc -iname init

搜索etc目录下init文件,iname为不区分大小写查找

3、以文件大小来查找:find

find / -size 204800

在根目录下查找大于100MB的文件。

204800为数据块,Linux中1数据块等于0.5KB,204800数据块=100MB

5、以所有者或所属组查找:find

find /home -user[-gruop] shenchao

在家目录下查找所有者(或者所属组)为shenchao的文件。

6、根据时间属性来查找:find

find /etc -cmin 5

在/etc下查找5分钟内(超过或等于)被修改过属性的文件和目录

-amin 访问时间access

-cmin 文件属性change

-mmin 文件内容modify

注意一个是改变文件属性,一个是改变文件内容

7、查找的联合命令:find

在/etc目录下查找大于80MB小于100MB的文件

find /etc -size +163840 -a -size -204800

-a 表示and ,两个条件同时满足

-o 表示or,两个条件满足任意一个即可。

在/etc目录下查找inittab文件并显示其详细信息

find /etc -name inittab -exec ls -l {} \;

-exec[-ok] xx命令 {} ; 表示对搜索结果执行xx操作

-exec和-ok的区别是,-ok会对每一个搜索结果执行操作前进行询问。

可联合多个命令

find /etc -name init??? -a -type f -exec ls -l {} \;

表示在etc目录下以文件名查找init???文件,不查找此类目录或软连接,并对查找结果显示详细信息。

8、根据类型或i节点查找

-type 根据文件类型查找:f 文件 。 d 目录 。 l 软连接文件

-inum 根据i节点查找:主要用于文件名奇怪不方便,或者寻找文件的硬链接


六、修改-查看时间

查看当前时间:

date

修改系统时间命令

date -s "2023-1-1 12:00:00"

再输入命令hwclock -w写入BIOS,否则重启后系统时间失效

hwclock -w

修改具体时间,不修改日期

date -s 12:00:00

只修改日期,不修改具体时间

date -s 2022-10-24

也别忘记要写入BIOS

hwclock -w


七、比较文件

comm

该命令对两个文本文件进行比较,并显示每个文件独有的行和它们共有的行。
例如现在有文件test1.txt和test2.txt两个文件

comm test1.txt test2.txt


第一列包含第一个文件参数特有的行,第二列包含第二个文件参数特有的行,第三列包含两个文件共有的行

我们可以通过使用选项 -n ,来选择隐藏指定的列,其中 n 可以是1、2或3。假设我们只想输出两个文件共有的行,我们可以使用 comm -12 file1.txt file2.txt

comm -12 test1.txt test2.txt

diff

diff 是一个更加复杂的工具。它支持多种输出格式,并有能力一次处理大量的文本文件集。 diff 经常被用来创建 diff 补丁文件,这些文件被 path 等程序用来将一个或多个文件的一个版本转换成另一个版本。让我们在之前的两个文件上运行

diff file1.txt file2.txt


这是默认的输出样式。在该格式中,每组变化之前都有一个变化命令,以 range operation range 的形式描述将第一个文件转换为第二个文件所需的位置和变化类型。

1d0
< a

这告诉我们必须删除 test1 的第一行,也就是带a的那一行。

4a4
> e

这告诉我们,我们必须在第一个文件里添加一行,在第四行的位置。然后告诉我们在哪一行添加 e

通过添加 -c 选项来使用上下文格式:

diff -c file1.txt file2.txt


在顶部我们可以看到,两个文件的名称以及时间戳,第一个文件使用星号标记,第二个文件使用破折号标记。 diff 将使用星号或破折号来让我们知道,它在整个列表的其余部分谈论的是哪个文件。

接下来我们会看到一行星号,这仅仅是为了格式化。

然后我们得到一系列的变化,在第一组变化中,我们可以看到:

*** 1,4 ****这意味着第一个文件中的第1行到第4行。

可以看到:

- a
  b
  c
  d

这就是文件的内容。只不过在 a 前面有个 - ,这意味着我们要删除它。

标志含义
blank不需要任何改
-需要删除行
+需要添加行
需要改变行

在第一组变化中,我们可以看到带有 -a 的行需要从第一个文件中删除。第二组变化为:

--- 1,4 ----
  b
  c
  d
+ e

—1,4---- 是第二个文件的范围, + e 意味着我们需要添加该行到第一个文件中,记住我们的目标是让第一个文件匹配第二个文件。

也可以统一格式,它与格式上下文类似,但是更简洁。它消除了上下文的重复行

diff -u file1.txt file2.txt


其他

待添加

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值