Linux常用命令精讲

一、简单命令操作

命令行提示字符
[root@localhost ~]#(或[root@localhost ~]$)
[当前登录系统的用户@主机名称 当前所在的目录]#($)
# 表示为管理员登录
$ 表示为普通用户登录

1.用户相关

su 用户名切换用户
su - 用户名切换到指定用户的家目录
pwd显示当前的目录

whoami查看当前用户

2.主机名相关

hostname查看当前主机名
hostname 名称修改主机名(临时修改)
hostnamectl set-hostname 名称修改主机名(永久修改)

重启后主机名会变回原主机名

  • 修改主机名配置文件实现主机名的修改(重启后生效)

按i键进行编辑

按esc键退出编辑,并按shift键+;输入:,再输入wq保存

3.版本信息相关

uname -r查看当前内核版本
cat /etc/系统-release查看当前系统版本信息
 cat /etc/*release查看当前系统版本信息
cat /etc/os-release查看当前系统版本信息

4.网卡IP相关

vi /etc/sysconfig/network-scripts/ifcfg-网卡名称进入网卡IP配置文件
(永久修改)
systemctl restart network重启所有的网卡
ifdown 网卡名称关闭某个网卡
ifup 网卡名称启动某个网卡
ifconfig(或ip address)查看网卡地址
ifconfig 网卡名称 (或ip address show dev 网卡名称)查看指定网卡地址
ifconfig 网卡名称 IP地址/掩码
(或ip address add IP地址 dev 网卡名称)
修改网卡IP(临时)
ip address del IP地址 dev 网卡名称删除指定IP地址

具体操作见参考链接博客中(“五、Linux系统安装/16.右击空白处打开终端进行一些初始配置”中修改网卡IP相关操作)

Linux系统部署-CSDN博客

5.清空命令页面

clear清空当前命令页面(鼠标滚轮上滑仍可查看历史命令)
Ctrl键+l清空当前命令页面(鼠标滚轮上滑仍可查看历史命令)

6.路由相关

route -n查看路由
route add -net 网段 掩码 gw 网关IP dev 出站网卡设置路由(网段)
route add -host 主机IP gw 网关IP dev 出站网卡设置路由(主机)
ip route add 网段/掩码 via 网关IP dev 出站网卡设置路由
route add del -net 网段 掩码(或主机IP)删除路由
route add -net 0.0.0.0 netmask 0.0.0.0 gw 网关IP
dev 出站网卡
设置默认路由
route add default gw 网关IP设置默认路由
以上均为临时添加,重启后失效
vi /etc/sysconfig/static-routes进入路由配置文件
(永久修改)

输入vi /etc/sysconfig/static-routes命令后按i键进入编辑模式

7.测试网络连接

ping IP地址
traceroute(静态跟踪) IP地址
mtr(动态跟踪) IP地址

8.计算机关机重启

reboot重启
init 6重启
shutdown -r 时间(min)重启(根据设定时间)
poweroff关机
init 0关机
shutdown -h 时间(min)关机(根据设定时间)

9.小知识(Xshell中给命令行提示符添加颜色)

PS1="\[\e[1;34m\][\u@\h \W]\\$\[\e[0m\]"
\[\e[1;35m\][
定义左边的"["
\[\e[1;34m\][\u
定义用户名
\[\e[1;36m\]@
定义"@"
\[\e[1;34m\]\h
定义第一个点(.)之前的主机名
\[\e[1;31m\]\w
定义目录完整路径
\[\e[1;35m]]
定义"]"
\[\e[1;36m\]\\$
定义"#"或"$"
\e[0m\]
一段不显示字串的结束

10.DNS服务器配置

vi /etc/sysconfig/network-scripts/ifcfg-网卡名称进入网卡IP配置文件
vi /etc/resolv.conf进入DNS配置文件

方法一相关操作见4.网卡IP相关

方法二在文件中添加:nameserver IP地址

二、常用命令精讲

1.Shell

  • Linux系统中运行的一种特殊程序,位于用户与内核之间
  • 在用户和内核之间充当“翻译官”(即作用)

接收用户输入的命令,并将命令翻译成计算机语言,传递给内核执行调用相关硬件资源

  • 用户登录Linux系统时,自动加载一个Shell程序
  • Bash是Linux系统中默认使用的Shell程序

文件位于bin/bash

2.Linux命令的分类

  • 内部命令与外部命令的区别
内部命令(内建指令)外部命令
集成于shell,属于shell的一部分由一个二进制程序文件或脚本文件组成
没有独立的系统文件属于shell之外的,每个外部命令都要有一个对应的系统文件
会随着shell自动加载到内存,可以直接使用需要让shell知道文件位置才能自动加载
(将文件放入到PATH环境变量指定的目录中)

  • 判断命令类型的方式

help(查看内部命令)

enable(查看内部命令)
type 命令


enable –n 命令禁用内部命令
enable 命令启用内部命令

若需要禁用外部命令则需找到指定文件并将其删除

3.Linux命令行的格式

  • 通用的命令行使用格式(英文字符且区分大小写)
命令字[选项][参数]

操作

整条命令中最关键的一部分;
唯一确定一跳命令

功能
短格式选项:使用“-”符号引导+单字符(多个单字符可组合使用);
长格式选项:使用“--”引导+单词
要执行的对象
可以是文件名、目录(路径)名或用户名等内容;
个数可以是零到多个

4.编辑Linux命令行

  • 编辑Linux命令行的辅助操作
Tab键一次
/两次
自动补齐命令、文件、目录
/显示所有匹配命令、文件、目录
反斜杠“\”强制换行(显示中换行,实际内容不换行)
Ctrl+U清空至行首
Ctrl+K清空至行尾
Ctrl+L清屏(只是保持当前界面历史内容不可见,鼠标滚轮上滑仍可查看历史内容)
Ctrl+C取消本次命令编辑
Ctrl+A切换到行首
Ctrl+E切换到行尾

5.获取命令帮助的方法

  • 内部命令 help

查看shell内部命令的帮助信息

  • 命令的--help选项

适用于大部分Linux外部系统命令

  • 使用man命令阅读手册页
  1. 使用↑、↓(ENTER)方向键滚动一行文本
  2. 使用Page Up和Page Down(空格)键翻页
  3. 按Q或q键退出环境
  4. 按/键查找内容,n键向下查找,N键向上查找

6.查看当前工作目录-pwd

显示用户当前所在的工作目录位置

7.切换工作目录-cd

  • 将用户的工作目录更改到其他位置

cd 目标位置切换到目标位置
cd ~
cd
若不指定目标位置,切换到当前用户的宿主目录(即家目录)
cd -切换到上一次cd命令之前的所在位置

  • 绝对路径

以根目录 / 为起点的路径

  • 相对路径

  1. 直接使用文件名/目录名,代表的是以 当前目录 为起点的文件/目录
  2. ./XXX ,代表的是以 当前目录 为起点的 XXX 文件/目录
  3. ../XXX ,代表的是以 上一层目录 为起点的 XXX 文件/目录
  4. ~/XXX ,代表的是以 当前用户的家目录 为起点的 XXX 文件/目录
  5. ~用户名/XXX ,代表的是 以指定用户的家目录 为起点的 XXX 文件/目录

例1:

例2(通过相对路径):

通过../../回到根目录“/”,在从根目录“/”出发到指定文件进行修改

8.列表显示目录内容-ls

  • 显示目录中内容,包含子目录和文件相关属性

以列表形式显示文件本身或目录中的内容

ls选项文件或目录

  • 常用选项
-l以长格式的形式显示文件/子目录的属性
-a显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件
-A与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”
-h 以人性化的方式显示文件/子目录大小(默认单位为字节)
-d显示目录本身的属性,而不是显示目录中的内容
-R以递归的方式显示目录中所有子目录的内容
-t以时间排序显示,默认从最新到最老的方式
-r反向排序
-i显示文件和目录的inode号
--color在字符模式中以颜色区分不同的文件。默认已开启
通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。

  • ls -l命令下的7个字段
第1字段文件属性字
第1字符代表文件的类型:
“-”表示该文件是一个普通文件 
“d”表示该文件是一个目录
“l”表示该文件是一个软链接文件
“c”表示该文件是一个设备文件;
第1字符的后面9个字母表示该文件或目录的权限位:
r表示读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录)
其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限
第2字段文件硬链接数 
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数
如果是一个目录,则第2字段表示该目录所含子目录的个数
如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录(目录“.”和“..”)
第3字段文件\目录拥有者
属主
第4字段文件\目录拥有者所在的组名
属组 
第5字段文件所占用的空间(默认以字节为单位) 
如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小
第6字段文件\目录最近访问或修改时间 
第7字段文件名
如果是一个符号链接(软链接文件),那么会有一个 “→” 箭头符号,后面根一个它指向的文件名

ls -alh以长格式显示目录下所有文件包括隐藏文件,并且文件大小以人性化的方式转变单位
ls -ltr以长格式显示目录下的文件属性,并且以时间倒序的方式排序(即由旧到新)
  • 结合通配符
?代表任意一个字符,有且只有一个字符
*代表任意数个字符,可以是0个或者1个或者多个
[]表示可以匹配字符组中的任意1个字符

9.设置别名-alias

  • 通过别名机制简化常用的、比较长的命令
alias 命令别名="命令"

unalias 命令别名取消命令别名
alias显示所有的别名命令

10.统计目录及文件空间占用情况-du

  • 统计指定目录(或文件)所占用磁盘空间的大小
du选项文件或目录

  • 常用选项
-a统计目录及其所有子目录和文件的占用大小
-s仅统计目录本身的占用大小,不能和 -a 选项同时使用
-h以人性化的方式显示占用大小(默认单位为KB)

  • 找出最大文件(逐层寻找)
du --max-depth=1(查看一层目录)简写du -d 1

  • ls -lh和du -h的区别
ls -lhdu -h
文件大小文件占用磁盘空间大小

文件1kb,占用磁盘空间最少为4kb;磁盘写入文件以块保存,一块至少为4kb

11.创建新目录-mkdir

创建新的空目录

mkdir选项目录位置及名称
mkdir -p一次性创建多层目录

  • 一次性创建大量目录

12.创建空文件-touch

更新文件的时间标记

经常用于创建多个新的空文件

touch 文件
  • 小知识

文件名与目录名必须保持唯一性,不能创建相同名称的文件、目录

13.创建链接文件-ln

为文件或目录建立链接文件,类似于Windows系统中的快捷方式

  • 链接文件类型

  • 软链接(符号链接)
ln-s源文件或目录链接文件或目标位置
  • 硬链接
ln源文件或目录链接文件或目标位置

  • 小知识:
  1. 在Linux中,文件名和文件的数据是分开存储的
  2. 在Linux中,只有文件的硬链接数=0才会被删除
  3. 使用ls -l可以查看文件硬链接的数量
  4. 在日常工作中,几乎不会建立文件的硬链接

  • 软连接和硬链接的区别
软链接硬链接
删除源文件会失效删除源文件不会失效
(因为是和源文件共享同一个文件数据)
适用于文件和目录只适用于文件
软链接文件可以和源文件不在同一个分区里硬链接文件必须要和源文件在同一个分区里
软链接文件和源文件inode号不同硬链接文件和源文件inode号相同

  • 小知识
  1. 当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名;但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得"硬链接数"减 1。需要注意的是不能对目录做硬链接。在日常工作中几乎不会建立文件的硬链接。
  2. 源文件路径建议使用绝对路径来表示,防止因为链接文件位置变化而失效

14.复制文件的目录-cp

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

cp选项源文件或目录目标文件或目录
  • 常用选项
-f覆盖目标同名文件或目录时不进行提醒,而直接强制复制
-i覆盖目标同名文件或目录时提醒用户确认
-p复制时保持源文件的权限、属主及时间标记等属性不变
-r复制目录时必须使用此选项,表示递归复制所有文件及子目录
  • 小知识

复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在

15.删除文件或目录-rm

删除指定的文件或目录

rm选项要删除的文件或目录
  • 常用选项
-f删除文件或目录时不进行提醒,而直接强制删除
-i删除文件或目录时提醒用户确认(y表示删除,n表示不删除)
-r删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)
  • 小知识

不要直接删除系统中已有的目录或配置文件,以避免出现意外故障

删除目录下文件时建议最好先切换到目录下再执删除命令

16.移动文件或目录-mv

将指定的文件或目录转移位置

如果目标位置与源位置想通,则相当于执行重命名操作

mv选项源文件或目录目标文件或目录
  • 小知识

mv命令只能对单个文件重命名,可使用rename命令批量修改文件名

rename旧字符新字符目标文件

17.查看命令文件存放目录-which

搜索范围由环境变量PATH决定(echo$PATH)

which命令|程序名默认当找到第一个目标后不再继续查找
which-a命令|程序名在所有搜索路径中查找
  • 使用which查找内部命令时,将找不到对应的程序

18.查找文件或目录-find

采用递归方式,根据目录的名称、类型、大小等不同属性进行精细查找

find查找范围
(查找文件或子目录的目录位置)
查找条件表达式
(查找条件类型)
  • 常用查找条件类型

按名称查找-name根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找-size根据目标文件的大小进行查找
一般使用“+"、"-”号设置超过或小于指定的大小作为查找条件
按文件属主查找-user根据文件是否属于目标用户进行查找
按文件类型查找-type根据文件的类型进行查找
文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备文件(b):成块读取数据的设备(硬盘,内存,光驱)字符设备文件(c):按单个字符读取数据的设备(键盘,鼠标)
  • 使用find命令实现多个查找命令

各表达式之间使用逻辑运算符

-a表示而且(and)
-o表示或者(or)
  • find之exec用法

-exec参数后面跟的是Linux命令,它是以“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”,{}代表前面find查找出的文件名

find命令匹配到了当前目录下的所有普通文件,并在-exec选项中ls -l命令将它们列出

19.命令执行的优先级

  1. 第一优先级:指定路径的命令。绝对路径 /usr/bin/ls 或者相对路径 cd /usr/bin   ./ls
  2. 第二优先级:别名指定的命令 alias myls='/usr/bin/ls -alh'
  3. 第三优先级:内部命令
  4. 第四优先级:hash 命令
  5. linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速率。
  6. 第五优先级:通过 PATH 定义的路径顺序查找

如果以上顺序都找不到,就会报“未找到命令...”的错误。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值