前言:
💞💞大家好,书生♡,今天主要和大家分享一下LIinux的基础命令,带有各种命令的作用,语法,参数和详细案例,希望对大家有所帮助。
💞💞前路漫漫,希望大家坚持下去,不忘初心,成为一名优秀的程序员
个人主页⭐: 书生♡
gitee主页🙋♂:闲客
专栏主页💞:大数据开发
博客领域💥:大数据开发,java编程,前端,算法,Python
写作风格💞:超前知识点,干货,思路讲解,通俗易懂
支持博主💖:关注⭐,点赞、收藏⭐、留言💬
Linux链接:Linux命令大全XMind
目录
- 1. Linux颜色的含义
- 2.Linux权限
- 2.1 linux权限类型
- 2.2 修改权限命令
- 2.2.1 数值修改权限
- 2.2.2 字符权限修改
- 3. Linux通配符
- 4. Linux 快捷键
- 5. Linux路径
- 6. ls 显示目录信息
- 7. cd 切换目录
- 8. mkdir 创建目录
- 9. touch 创建文件/改时间戳
- 10. mv 移动/重命名文件和目录
- 11. cp复制文件/目录
- 12. rm 删除文件和目录
- 13. pwd 显示当前路径
- 14.rmdir 删除空目录
- 15. tar 压缩解压
- 16. 文件查看指令
- 16.1 cat指令
- 16.2 more指令
- 17. 系统信息查看指令
- 17.1 ps命令
- 17.2 kill 命令
- 17.3 ifconfig 命令
- 17.4 ping命令
- 17.5 free 命令
- 17.6 df 命令
- 17. 7 clear 命令
- 18. 开关机指令
- 18. 1 reboot指令
- 18.2 shutdown指令
- 18. 3 init指令
- 19. 用户管理指令(了解)
- 19.1 useradd添加用户
- 19.2 passwd 用户密码的设置
- 19.3 userdel 删除用户
- 20. 管道与全文检索
- 20.1 grep命令
- 20.2 管道命令
- 20.3 which查询指令
- 20.4 查询指令hostname
- 21. stat显示文件详细信息
- 22. tree以树状列出目录
- 23. rename批量修改文件名
- 24. chattr 更改文件属性
- 25. file 识别文件类型
1. Linux颜色的含义
1.白色:普通文件
2.蓝色:目录
3.绿色:可执行文件
4.青色:链接文件
5.红色:压缩文件
6.黄色:设备文件
7.灰色:其他文件
注意:不同的系统或者软件可能会有差异
2.Linux权限
2.1 linux权限类型
权限分为3种:
r—可读权限—4
w—可写权限—2
x—可执行权限–1
- 无权限
linux 文件归属:
属主 : 文件拥有者,一般是创建者 u — user
属组 : 文件拥有者所在的用户组 g — group
其他用户 : 除了 属主 和属组的其他用户 o ----- other
注意:
d:代表目录 - :代表普通文件 全部用户:a
2.2 修改权限命令
我们使用chmod ,修改命令权限
2.2.1 数值修改权限
chmod 数值 文件名 (数值是rwx的分别的值)
# 用户拥有读写执行权限(rwx 7), 用户组拥有读写权限(rw 6), 其他用户拥有读的权限(r 4)
chmod 764 1.txt
# 如果需要所有用户具有可读可写可执行权限
chmod 777 1.txt# 使用chmod也可以修改目录的权限
chmod 711 abc
# 但是如果按照上述方式使用,只能修改目录权限,对于其子文件或子目录的权限无法同时修改, 如需同时修改,则需要使用-R
chmod -R 711 abc
2.2.2 字符权限修改
r : 读权限
w : 写权限
x : 执行权限
u : 拥有者
g : 用户组
o : 其他用户
a : 所有用户
# 格式: chmod - + 权限
# 给自己减少可执行权限,给用户组增加写入权限
chmod u-x,g+w abc
# 给所有用户减少读的权限
chmod a-r abc# 格式: chmod = 权限
# 给自己设置属主权限为只读,此时原有权限全部消失,只保留新赋予的权限内容
chmod u=r abc
# 给所有用户最高权限
chmod a=rwx abc# 格式: 混用
# 给用户读写执行权限, 给用户组读写权限, 给其他用户只读权限
chmod u=rwx,g-x,o-wx abc# 如果我们需要修改当前目录及其目录中子文件的权限,需要使用递归方式完成操作 条件-R选项即可
chmod -R u=rwx,g=rw,o=r aaa
3. Linux通配符
“ * ” 匹配0个或多个字符串
? 匹配1个字符
[abcd] 匹配abcd中何意一个字符
[a-z] 匹配a-z范围里的任意一个字符
[!abc] 不匹配方括号里的任何一个字符/与[ʌabc]-致
4. Linux 快捷键
ctrl+f 向前移动光标
ctrl+b 向后移动光标
ctrl+a 光标移动到行首
ctrl+e 光标移动到行尾
ctrl+p 向上翻页,相当于pageUp
ctrl+n 向下翻页,相当于pageDown
ctrl+h 删除光标前一个字符
ctrl+d 删除光标所在字符
ctrl+u 删除光标至开始全部内容(不
包括光标所在字符)
ctrl+k 删除光标至末尾全部内容(包
ctrl+w 删除光标前单词
ctrl+l 清屏
5. Linux路径
Linux分为绝对路径和相对路径
绝对路径: 从根目录或者盘符出发,直到查找到目标文件所经历的目录层级
相对路径: 从当前目录出发,直到查找到目标文件所经历的目录层级
注意:
linux中的路径和windows中的路径有什么区别?
绝对路径中, linux 是从根目录出发进行查找, windows是从盘符出发进行查找
6. ls 显示目录信息
ls的作用主要是显示目录的信息
-a 显示所有文件及目录(包括以”"开头的隐藏文件)
-l 使用长格式列出文件及目录信息
-r 将文件以相反次序显示(默认依英文字母次序)
-t 根据最后的修改时间排序
-h 以人类可读的格式显示数字大小
-A同-a 但不列出,(当前目录)及…(父目录)
-S 根据文件大小排序
-R 递归列出所有子目录
-F 在列出的文件名称后加一符号;例如可执行档则加*,目录则加 /
列出当前目录所有文件(包括隐藏文件) ls -a
列出指定目录所有文件(包括隐藏文件) ls -a /etc
列出当前目录文件的详细信息 ls -l 简写为:ll (可以添加选项)
列出根目录/下所有文件 ls /
列出当前目录下所有文件和目录的详细信息(包括子目录内容) ls -lR
列出当前目录下所有有f开头的文件的详细信息 ls -l f*
列出当前目录下所有文件,并根据修改时间倒序排列 ls -ltr
列出目前工作目录下所有文件及目录,目录于名称后加/.可执行档于名称后加* ls -AF
列出当前目录详细信息并以可读大小显示文件大小 ls -lh
7. cd 切换目录
cd的作用是切换目录,便于访问修改不同的目录和文件
语法: cd [参数] 目录
几个特殊的目录:
- :用户家目录
. :当前目录
。。 :上一级目录(此处是英文的句号,非中文,英文的显示不出来)
/ : 根目录
“” -“” :上一次所在的目录
切换到dir目录 cd dir切换到上两级目录 cd ../..
切换到家目录 cd ~ 或者 cd
切换到上一次所在的目录 cd -
8. mkdir 创建目录
作用 :创建目录
注意:默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。新建的目录与它所在目录下的文件有重名也不行。
语法:mkdir (选项)(参数)
参数:
-p 递归创建多级目录
-m 建立目录的同时设置目录的权限
-v 显示目录的创建过程
在当前目录下创建一个名为dir1的子目录 mkdir dir1
创建多个目录 mkdir dir2 dir3 dir4 或者是 mkdir dir{5..7}递归创建目录 mkdir -p dir7/dir8/dir9在dirl目录下建立子目录dirl0,并且设置文件权限700 mkdir -m 700 dir1/dir10显示目录的创建过程 mkdir -v dir{1..3}
9. touch 创建文件/改时间戳
作用:
- 创建新的空文件
- 改变已有文件的时间戳属性 注意:在修改文件的时间属性的时候,用户必须 是文件的属主,或拥有写文件的访问权限
语法:
touch [OPTION]…FILE
参数:
-a 改变文件的读取时间记录
-m 改变文件的修改时间记录
-r 使用参考文件的时间记录,与…file的效果一样
-c 不创建新文件
-d 使用指定字符串表示时间式
-t 设定文件的时间记录,格式与date命令相同
–no-create 不创建新文件
案例:
创建一个空文件 touch file.txt (前提:file.txt文件不存在)创建多个空文件 touch file1.txt file2.txt file3.txt修改已有文件的时间戳为当前系统时间(包括修改时间及访问时间) touch file.txt修改文件的access时间 touch -a file.txt修改文件的modify时间 touch -m file.txt强制避免创建新文件 touch -c nofile.txt 或者 touch --no-create nofile.txt将访问和修改时间从一个文件复制到另一个文件 touch file.txt -r ref_file.txt修改文件时间为明天 touch -d "tomorrow" file.txt
10. mv 移动/重命名文件和目录
作用:
1.移动文件
2.重命令文件
语法:
mv [选项] 源文件或目录 目标文件或目录
参数:
-i 若存在同名文件,则向用户询问是否覆盖
-f 覆盖已有文件时,不进行任何提示
-b 当文件存在时,夏盖前为其创建一个备份
-u 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
案例:
将文件fie.txt移动到目录dir中 mv file.txt /dir将 file.txt重命名为 newfile.txt mv file.txt newfile.txt将目录dirl移动到目录dir2中(前提是目录dir2已存在,若不存在则改名) mv dirl dir2将文件file1txt改名为file2.txt,如果file2.txt已经存在,则询问是否覆盖 mv-i filel.txt file2.txt将文件fileltxt改名为file2.txt,如果file2.txt已经存在,则直接覆盖 mv -f file1.txt file2.txt文件被覆盖前做备份 mv -b file1.txt file2.txt 源文件比目标文件新时才执行更新 mv -u filel.txt file2 txt移动当前文件夹下的所有文件到上一级目录 mv* ../将当前目录的一个子目录里的文件移动到另一个子目录里 mv dir3/* dir2
11. cp复制文件/目录
作用:
复制文件或目录
语法:
cp [选项] 源文件/目录 目标文件/目录
参数:
-f 若目标文件已存在,则会直接覆盖
-i 若目标文件已存在,则会询问是否覆盖
-a 通常在复制目录时便用,它保留链接、文件属性,并复制目录下的所有内容
-r 递归复制文件和目录
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示cp命令执行的操作过程
复制文件到aa目录下 cp file1.txt aa# 将info.cfg文件复制到本地并改名为info-副本.cfg cp info.cfg info-副本.cfg复制目录dir1到dir2下面 cp -r dir1 dir2# 将bbb目录复制到aaa目录中,并改名为abc目录 cp -r bbb aaa/abc复制文件,若目标文件已存在,则询问是否覆盖 cp -i filel.txt file2.txt复制文件,若目标文件已存在,则直接覆盖,不提示 cp -f file1.txt file2.txt复制文件,若目标文件已存在,则先进行备份 cp -b file1.txt file2.txt复制目录,并且保留源目录所有属性都一致 cp -a dir1 dir2
12. rm 删除文件和目录
作用:
- 删除文件或目录
rm [选项] 目录/文件名称
参数:
-f 忽略不存在的文件,不会出现警告信息
-i 删除前会询问用户是否操作
-r/R 递归删除
-V 显示指令的详细执行过程
案例:
删除一个文件 rm file.txt删除一个目录 rm -r dir强制删除文件/目录(不带提示) rm -f file.txt / rm -rf aaa删除当前目录下所有文件 rm -rf * 或者 rm -rf ./ *删除根目录下所有文件 rm -rf / *删除前逐一询问确认 rm -i file1.txt file2.txt file3.txt删除指定后缀的所有文件 rm -rf *.txt
13. pwd 显示当前路径
作用 显示当前路径
语法:pwd
案例:
显示当前路径 pwd
14.rmdir 删除空目录
作用:
删除空目录
rmdir [OPTION]…DIRECTORY…
-p 用递归的方式删除指定的目录路径中的所有父
级目录,非空则报错
-v 显示命令的详细执行过程
删除空目录 rmdir dir递归删除多重目录 rmdir -p dir/dir2/dir3显示指令详细执行过程 rmdir -v dir
15. tar 压缩解压
作用:
tar命令是进行打包,解包, 压缩和解压的命令
概念:
打包(cvf): 将多个文件归档为一个文件,文件大小不会减小.
解包(拆包xvf):将一个包文件拆分为多个实体文件.
压缩(zcvf):将文件按照一定的算法减小体积,但是文件的内容和信息不发生改变
解压(zxvf):将一个压缩文件还原到正常状态.
选项:
- c : 打包选项
- x : 解包选项
- z : 压缩或者解压选项
- v : 展示过程信息
- f : 指定文件名称
注意: c 和x 参数不能同时出现在终端命令中
打包:
# tar -cvf 包的名称 要打包的文件列表 打包:tar -cvf small.tar 1.txt 2.txt 3.txt
解包:
# 将small.tar 解压到当前压缩包所在位置
tar -xvf small.tar# 将个文件解压bbb目录下,此时需要使用选项C(大写)指定解包路径
tar -xvf small.tar -C bbb
压缩:
# tar -zcvf 包的名称 要打包的文件列表
压缩: tar -zcvf small.tar.gz 1.txt 2.txt 3.txt
解压:
# 将small.tar.gz 解压到当前压缩包所在位置
tar -zxvf small.tar.gz# 将个文件解压bbb目录下,此时需要使用选项C(大写)指定解包路径
tar -zxvf small.tar.gz -C ./heima/
注意:
- 压缩时,如果源文件太小,可能体积会增大 例如 被压缩文件只有20B 可能压缩完成后大小是50B
- 压缩和解压时一般使用.tar.gz结尾,方便程序员交流
- 使用上述指令压缩后,文件为gzip压缩格式.
16. 文件查看指令
我们常用的文件查看指令有:
- cat和more两种
- 都只能查看纯文本文件
16.1 cat指令
用于查看linux中的小型文本文件
因为他会一次性将所有的文件内容加载到终端中,终端的数据展示数量有限,大文件显示不全,且过于消耗内存
cat 文件名称
16.2 more指令
用于查看linux中的中型文本文件
使用more进行文件的查看可以按页显示,手动翻页或回滚,更加灵活,但同样消耗内存
more 文件名称
- enter 向下一行
- space 向下一页
- b 向上一页
- q 退出查看
17. 系统信息查看指令
我们首先要知道什么是进程:
们可以简单的理解为就是正在运行的软件, 一般一个软件最少有一个进程,但是可以有多个.
17.1 ps命令
ps命令:查看Linux系统中的进程信息
ps 查看当前活跃进程
ps -ef 查看当前所有进程
在查看进程时,pid这一列中存储的是进程编号,也就是这个进程的唯一标识.
17.2 kill 命令
结束linux中的软件或服务也可以通过操作进程来解决
kill -9 进程编号
注意:
kill -9 可以快速杀死进程,但是不安全,因为我们的服务再运行过程中,可能会需要保存或者将某些任务执行完再关闭,所以轻易不用,一般都是用于杀死闲置进程,或者不响应的进程.
17.3 ifconfig 命令
ifconfig主要用于查看服务器的网络信息, 当前阶段最重要的信息就是ip地址
ifconfig
扩展:
在windows中如果需要查看网卡信息,需要使用ipconfig
进行查看
17.4 ping命令
ping ip地址:
1. 检测我们是否可以与某一个ip的设备建立网络连接 ping 192.168.88.161
2.ping 127.0.0.1 检测我们的网卡是否正常启动
3.ping www.baidu.com 检测我们的主机是否可以连接互联网
注意: 使用ctrl + c可以退出ping
ping 192.168.88.161ping 127.0.0.1 ping www.baidu.com
17.5 free 命令
可以使用free查看内存使用情况
free -h 换算成适合的单位
free
17.6 df 命令
可以使用df命令查看磁盘的使用情况
df -h 换算成适合的单位
df
17. 7 clear 命令
clear命令,可以清除终端窗口的信息,让光标移动到终端的最上方
快速清屏也可以使用快捷键 ctrl + L
18. 开关机指令
18. 1 reboot指令
重启计算机, reboot属于安全重启,不属于强制重启,可以放心用
但是不会像windows一样提示我们有未关闭 未保存信息等.
18.2 shutdown指令
shutdown命令主要用于关机操作, 关机过程中,可以指定关机时间
shutdown -h now 立即关机
shutdown -h 10 十分钟后关机
注意:
如果shutdwom后不加任何参数, 将会在一分钟之后关闭, 中间可以使用 -c进行取消
18. 3 init指令
还可以使用以下命令进行关机或重启,和上述命令作用相同
init 0 关机
init 6 重启
19. 用户管理指令(了解)
19.1 useradd添加用户
useradd 可以添加一个linux用户 同时会在/home目录下创建一个该用户的家目录
创建完该用户后,无法使用,需要设置密码后方可登录
useradd python# 查看用户是否添加成功
cat /etc/passwd
19.2 passwd 用户密码的设置
注意: 有用户 无密码 无法进行远程连接
passwd 用户名 可以给指定的用户设置密码
# root用户
[root@node1 ~]# pwd
/root# python用户
[python@node1 ~]$ pwd
/home/python
注意:
- root 用户和普通用户相比,家目录位置不一样, root用户的家目录在/root 普通用户家目录在/home/用户名
- root用户在命令输入前是一个# 普通用户是一个$
19.3 userdel 删除用户
删除用户需要同时删除用户家目录
userdel -r python如果不需要删除家目录直接去掉-r即可
20. 管道与全文检索
20.1 grep命令
grep就是根据一定的规则做全文检索, 在文件中查询到满足规则的文本内容 记住grep 是在文件中查询文本.
在指定的文件中查询特定的字符组合
# 使用grep检索1.txt文件中含有字符aaa的列有哪些
grep aaa 1.txt
20.2 管道命令
管道指令,就是连接两个命令的指令, 前一个命令的输出,就是下一个命令的输入
# 查询所有文件中7月份创建的文件有哪些
ll | grep 7月
# 查询所有文件中7月份创建的文件,并且名字是Music
ll | grep 7月 | grep Music
20.3 which查询指令
查询脚本或者终端命令文件所在的位置
一般情况下我们可以通过which找到终端指令的安装目录,进行配置或者删除等
20.4 查询指令hostname
用于查询主机名称
21. stat显示文件详细信息
作用:
- 显示文件或文件系统的详细信息
语法:
stat [option] file
参数:
-L 支持符号链接
-f 显示文件系统的信息
-t 以简洁的方式输出
三种时间:
atime: access time 访问时间
mtime: modifytime 修改时间
ctime: change time 状态改变时间
查看文件file.txt的信息 stat file.txt查看file.txt文件所在文件系统信息 stat -f file.txt以简洁方式输出信息 stat -t file.txt
22. tree以树状列出目录
作用:
- 以树状图列出目录内容
如果想使用tree,我们需要先安装
使用命令:yum install tree
语法:
tree[参数]
参数:
-a 显示所有文件和目录
-L 层级显示
-t 用文件和目录的更改时间排序
-r 用文件和目录的更改时间倒序排序
-f 在每个文件或目录之前,显示完整的相对路径
名称
-d 显示目录名称而非内容
案例:显示当前目录下的文件和目录 tree显示所有文件和目录 tree -a只显示目录 tree -d只显示n层目录(n为数字) tree -L 2显示权限信息 tree -p用文件和目录的更改时间排序 tree -t以相反次序排序 tree -r显示完整的相对路径 tree -f
23. rename批量修改文件名
作用:
- 用字符串替换的方式批量改变文件名
语法:
rename 's/old-name/new-name/ files
原字符串:将文件名需要替换的字符串;
目标字符串:将文件名中含有的原字符普换成目标字符串;
文件;指定要改变文件名的文件列表。
通配符
? 可替代单个字符
* 可营代多个字符
参数:
-n 模拟运行,实际命令没进行重命名
-V 输出每步执行信息
-f 强制改写
案例:将myfile.txt改为myfile.doc
rename 's/.txt/doc/ myfile.txt模拟将ile1.txt,fle2txt,fle3.txt改为file01.txt,file02.txt,file03.txt
rename 's/file/file0/ myfile.txt实际更改上一步,并输出执行过程信息
rename -v's/file/file0/ myfile.txt
24. chattr 更改文件属性
作用:
- 更改文件属性
语法:
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE…
参数:
-R 递归处理目录下的所有文件-v 设置文件或目录版本-V 显示指令执行过程+ 开启文件或目录的该项属性- 关闭文件或目录的该项属性= 指定文件或目录的该项属性
案例防止某个关键文件被修改 chattr +i file.txt解锁 chattr -i file.txt只允许文件追加内容(对日志文件特别有用) chattr +a file.txt对一个目录中的所有文件添加限制 chattr -R +i dir查看文件属性 lsattr file.txt
25. file 识别文件类型
作用 :
- 识别文件类型
语法:
file[参数]文件
参数:
-b 列出文件类型,不显示文件名称
-c 详细显示指令执行过程
-f 指定名称文件,显示多个文件类型信息
-L 直接显示符号连接所指向的文件类别
-m 指定魔法数字文件
-z 尝试去解读压缩文件的内容
-i 显示MIME类别
查看文件的类型file file.txtfile dirfile /dev/sda查看文件类型,但不显示文件名 file -b file.txt显示MIME类别 file -i file.txt查看某个符号链接文件(快捷方式)的类型 file /dev/cdrom直接查看某个符号链接文件(快捷方式)所对应的目标文件的文件类型file -L /dev/cdrom