在Linux操作系统中,用户在命令行shel中通过shell命令简单粗暴有效的和内核交互~
1.Linux中执行Shell的方式
Linux中执行shell的方式有两种:
- 虚拟终端
- 图形界面中的终端模拟器(terminal)
1.1.虚拟终端
在桌面环境下使用命令Ctrl
+Alt
+F1~F6
即可打开终端,使用命令Ctrl
+Alt
+F7
即可返回桌面环境:
1.2.图形界面中的终端模拟器
在图形界面下使用命令Ctrl
+Alt
+T
即可打开终端模拟器terminal:
2.Linux Shell的前缀用户信息
mculover666 | @ | ubuntu | : | ~ | $ |
---|---|---|---|---|---|
当前用户名 | @ | 计算机名 | : | 当前工作目录 | 用户角色($-普通用户 #-超级用户) |
3.Shell命令行技巧
Tab
:自动补全↑
:上一条命令↓
:下一条命令Ctrl
+C
:终止运行当前命令
4.常用Shell命令
4.1.帮助命令
4.1.1.详细帮助文档
使用命令man
+<要查看帮助的命令>
即可查看命令的帮助文档:
4.1.2.简要帮助文档
一般命令带help
参数即可查看简要帮助信息:
4.2.切换路径命令
在使用切换路径命令的时候要注意,路径有相对路径和绝对路径之分:
- 相对路径:目的路径相对当前工作目录的路径
- 绝对路径:目的路径相对根目录的路径
使用pwd
命令可列出当前工作目录路径:
使用cd
+绝对路径或相对路径
即可切换:
4.3.文件及目录操作命令
4.3.1.列出文件及目录
使用ls
+参数
即可根据不同参数列出当前目录内容:
参数 | 作用 |
---|---|
无 | 默认列出正常文件名及目录名 |
-a | 列出隐藏文件及目录名 |
-l | 使用长格式列出信息 |
4.3.2.创建文件及目录
创建文件使用touch
+路径(可选)
+文件名
:
创建目录使用mkdir
+路径(可选)
+目录名
:
4.3.3.删除文件及目录
注:删除空目录可以用rmdir
+目录名称
删除;
删除一般的文件或目录可以用rm
+参数(可选)
+文件或目录
删除:
参数 | 作用 |
---|---|
无 | 默认正常删除文件或目录 |
-f | 强制删除文件或目录 |
-r | 递归删除目录 |
-rf | 强制递归删除文件或目录 |
4.3.4.复制文件及目录
使用命令cp
+参数(可选)
+目录或文件
+目的路径
复制文件或目录:
参数 | 作用 |
---|---|
无 | 默认正常复制文件或目录 |
-f | 覆盖已经存在的文件或目录而不提示 |
-r | 递归复制该目录下的所有子目录和文件 |
-d | 复制时保留链接 |
-p | 复制源文件内容外,将其修改时间和权限也复制 |
-i | 复制时在覆盖目标文件之前要求用户确认 |
-a | 等于dpr的组合 |
4.3.5.移动文件及目录
使用命令mv
+[参数]+文件或目录名
移动文件或目录:
参数 | 作用 |
---|---|
无 | 默认正常移动文件或目录 |
-f | 覆盖已经存在的文件或目录而不提示 |
-r | 递归移动该目录下的所有子目录和文件 |
-i | 移动时在覆盖目标文件之前要求用户确认 |
使用该命令还可对文件或文件夹进行重命名:
4.3.6.查看文件内容
查看文件内容可以用编辑器查看,如果一些小文件可以直接用cat
+参数
+文件名
在命令行查看:
参数 | 作用 |
---|---|
无 | 默认正常显示文件或目录 |
-n | 显示行号 |
使用wc
+参数
+文件名
可显示文件字数统计信息:
参数 | 作用 |
---|---|
无 | 默认显示 |
-c | 显示字节数 |
-m | 显示字符数 |
-l | 显示行数 |
-w | 显示单词数 |
4.4.用户与用户组命令
4.4.1.添加用户
使用sudo useradd
+<参数>
+用户名
即可添加新用户:
参数 | 作用 |
---|---|
无 | 默认在home目录下按用户名创建工作目录 |
-d <目录> | 指定用户主目录 |
-g <用户组> | 指定用户所属用户组 |
-u <用户号> | 指定用户用户号 |
4.4.2.删除用户
使用sudo userdel
+<参数>
+用户名
即可删除用户:
参数 | 作用 |
---|---|
-r | 删除用户主目录 |
4.4.3.设置用户密码
使用sudo passwd
+<参数>
+用户名
即可设置用户密码,如果不加用户名,则设置当前用户密码:
参数 | 作用 |
---|---|
-d | 删除用户密码 |
4.4.4.切换用户
使用命令sudo su
+用户名
即可切换到该用户,若不加用户名,则默认到root超级用户。
4.4.5.显示当前登录的账户
使用命令who
+参数
查看当前系统的用户信息:
参数 | 作用 |
---|---|
-a | 所有信息 |
-r | 运行级别 |
4.4.6.打印系统信息
使用命令uname
+参数
打印当前系统信息:
参数 | 作用 |
---|---|
-a | 所有信息 |
4.5.文件权限更改命令
Linux因为支持多用户同时工作,所以Linux下每个文件都是权限的。
4.5.1.查看文件权限
首先使用命令ls -l
查看测试txt文件信息:
在开头显示的就是文件的权限:
参数 | 描述 |
---|---|
r | 可读 |
w | 可写 |
x | 可执行 |
然后三组信息分别是文件拥有者、用户组、其他用户的相关权限:
从左到右依次是9个位,用三个数字表示,用1表示开启,0表示关闭,所以可以用777表示开启全部权限:
另外,在最开头的一个字母可以表示该文件的类型如下 :
参数 | 描述 |
---|---|
d | 目录文件 |
l | 链接文件 |
c | 字符设备(键盘) |
b | 块设备(磁盘) |
4.5.2.更改文件权限
使用sudo
+chmod
+参数
+权限
+文件名
即可修改文件权限:
参数 | 描述 |
---|---|
-R | 递归方式更改 |
权限可以用ugoa
++-=
+rwx
的命令组合:
比如所有用户增加写文件和执行文件的权限(注意txt不能执行,只是演示修改权限之用):
4.6.文件属性更改命令
4.6.1.查看文件属性
使用命令lsattr
+文件名
即可查看文件属性:
4.6.2.修改文件属性
使用sudo
+chattr
+参数
+属性
+文件名
即可修改文件属性:
参数 | 描述 |
---|---|
-R | 递归方式更改 |
属性可以用+-
+ai
的命令组合:
参数 | 描述 |
---|---|
a | 只能向文件中添加数据而不能删除,多用于日志安全 |
i | 设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容 |
4.7.打包与解包命令
使用tar
+参数
+文件或路径
命令打包或解包:
参数 | 描述 |
---|---|
-c | 打包 |
-x | 解包 |
-f | 指定打包后的文件名(f之后不能有其它参数) |
-z | 使用gzip格式打包或解包 |
-j | 使用jzip2格式打包或解包 |
4.8.软件安装命令
4.9.网络相关命令
4.9.1.查看网络信息
使用ifconfig
命令查看网络信息:
4.9.2.测试网络连通性
使用ping
+ip地址或域名
即可测试:
4.9.3.启用或关闭网卡
使用命令sudo
+ifconfig
+网络设备
+选项
:
参数 | 描述 |
---|---|
down | 停用 |
up | 启用 |
4.9.4.关闭DHCP服务
在一些情况下需要自己设置ip,但是DHCP会自动获取,所以使用dhclient -r
关闭dhcp服务,立即生效:
4.9.5.设置自己的ip地址
使用sudo
+ifconfig
+网络设备
+要设置的ip地址
4.9.6.路由表查看与设置
使用命令route
即可查看本机路由表:
使用命令route
+选项1
+add或del
+-net或-host
+网域或主机
+netmask
+gw或gateway(子网掩码)
+dev
+网络设备
配置路由表。
4.10.关机与重启命令
服务器关机前一定要确认没有用户在使用(使用who查看当前使用用户)
使用shutdown
+选项
+时间(可以是具体时间,也可以是具体数字,也可以是now)
:
参数 | 描述 |
---|---|
-h | 关机 |
-r | 重启 |
-c | 取消关机 |
使用reboot
关机;
使用poweroff
关机;
三个命令效果相同。