文章目录
- 3 Linux命令的基本使用
- 3.1 终端
- 3.2 命令
- 3.3 工作目录
- 3.4 用户管理
- 3.5 文件管理
- 3.6 网络管理
- 3.7 快捷键
- 3.8 常用命令
- 3.8.1 显示当前路径
- 3.8.2 切换路径
- 3.8.3 字符输出 echo
- 3.8.4 显示内容
- 3.8.5 挂载 mount
- 3.8.6 卸载 umount
- 3.8.7 命令类型
- 3.8.8 查找文件
- 3.8.9 创建目录
- 3.8.10 使用手册
- 3.8.11 init
- 3.8.12 shutdown
- 3.8.13 命令历史
- 3.8.14 文本查找
- 3.8.15 文本编辑
- 3.8.16 文本分析
- 3.8.17 查找文件
- 3.8.18 显示进程
- 3.8.19 压缩文件
- 3.8.20 time命令
- 3.8.21 列出块设备
- 3.8.22 计算和检验MD5信息签名
- 3.8.23 uname 命令
- 3.8.24 创建文件
- 3.8.25 cal命令
3 Linux命令的基本使用
3.1 终端
- 查看当前终端
tty
伪终端 pts/0
- 切换终端
ctrl+alt+F1-F7
3.2 命令
3.2.1 定义
二进制可执行文件
3.2.2 分类
-
外部命令
-
内部命令 shell内建
man cd 查看所有shell内建命令
- COMMAND 查看命令的类型
type
3.2.3 用法
- 长选项 --STRING
- 短选项 -字母
3.2.4 举例
选项 | 说明 |
---|---|
-a | all,目录所有文件包含隐藏文件 |
-l | long,长格式显示文件属性 |
-d | directory,显示目录本身 |
-h | human-readable,人类可读的单位 |
3.3 工作目录
- pwd,print working directory,显示工作目录
- cd, change directory,切换工作目录
3.4 用户管理
- 创建用户
useradd 用户名
- 删除用户
userdel 用户名
- 更新密码
passwd 用户名
- 切换用户
su - 用户名
3.5 文件管理
- 创建目录
mkdir 目录路径
- 查看文本文件
cat 文件
先创建一个文件a
给文件a添加内容(用vi编辑器加。。。。省略)
选项 | 说明 |
---|---|
-b | 显示非空白行行号 |
-n | 显示所有行号 |
-T | 将【Tab】按键以 ^T 显示出来 |
-V | 显示出特殊字符 |
-E | 将结尾的断行字符$显示出来 |
–A | 相当于 –vET |
tac反向显示
-
编辑文本文件 vim 文件(用不了) vi(i->进行编辑->Esc->:wq)
先创建文件b
touch b
vi b
vim暂时用不了,先用vi编辑吧(yum -y install vim)
显示内容
- 拷贝文件
cp 文件名 新文件名
- 删除文件
rm - 文件名
也可用rm-rf 文件名(谨慎使用)
- 移动文件
改名 mv 文件名 新文件名
移动文件 mv 文件名 路径
3.6 网络管理
- 查看网卡信息
ifconfig
- 查看网卡信息
ip addr show
3.7 快捷键
- TAB
命令和路径的补全
- CTRL+c
终止当前命令的执行
-
clear,清屏 CTRL+l
-
ahead CTRL+a
-
end CTRL+e
3.8 常用命令
3.8.1 显示当前路径
pwd
print working directory
选项 | 说明 |
---|---|
-L | –logical 显示运行环境的目录(当前目录),即使它包含链接 |
-P | –physical 显示当前目录的实际物理地址,避免所有链接 |
3.8.2 切换路径
cd
change directory
cd . 切换到当前路径 = cd ./
cd …切换到上一层路径 =cd …/
选项 | 说明 |
---|---|
空白 | 进入用户根目录 |
~ | 进入用户根目录 |
/ | 进入系统根目录 |
3.8.3 字符输出 echo
echo string
3.8.4 显示内容
ls
list
参数 | 说明 |
---|---|
-a | 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) |
-l | 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 |
-r | 将文件以相反次序显示(原定依英文字母次序) |
-t | 将文件依建立时间之先后次序列出 |
-A | 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录) |
-F | 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/” |
-R | 若目录下有文件,则以下之文件亦皆依序列出 |
ls ./test2 查看当前目录的test2
ls …/test2查看上一层目录的test2
3.8.5 挂载 mount
mount 路径分区 路径
fdisk-l 查看 或者用 df
选项 | 说明 |
---|---|
-V | 显示程序版本 |
-h | 显示辅助讯息 |
-v | 显示较讯息,通常和 -f 用来除错 |
-a | 将 /etc/fstab 中定义的所有档案系统挂上 |
-F | 这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作 |
-f | 通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用 |
-n | 一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作 |
3.8.6 卸载 umount
选项 | 说明 |
---|---|
-a | 卸除/etc/mtab中记录的所有文件系统 |
-h | 显示帮助 |
-n | 卸除时不要将信息存入/etc/mtab文件中 |
-v | 执行时显示详细的信息 |
-V | 显示版本信息 |
3.8.7 命令类型
type
查看外部命令的执行路径 type-p
3.8.8 查找文件
which
选项 | 说明 |
---|---|
-n<文件名长度> | 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名 |
-p<文件名长度> | 与-n参数相同,但此处的<文件名长度>包括了文件的路径 |
-w | 指定输出时栏位的宽度 |
-V | 显示版本信息 |
3.8.9 创建目录
mkdir
make dir
选项 | 说明 |
---|---|
-m | 创建目录的时候同时设置文件的权限 |
-p | 如果上级目录没有创建,即创建输入路径上的所有目录 |
-m权限说明
- 一个文件有三个权限: 读, 写,执行
- 读写执行分别对应的数字为:4,2,1
- 如果某用户只有读的权限没有写与执行的权限,所以对应的数字就为4了
- 一个文件和文件夹所面对的用户有三种,所属用户,所属用户组,组外用户
- 例 数字 777,即说明了所对应的三个组对应的拥有全部的权限
3.8.10 使用手册
man
manual
查看ls的使用手册
按q退出
3.8.11 init
级别 | 说明 |
---|---|
0 | 停机(千万不能把initdefault 设置为0 |
1 | 单用户模式 |
2 | 多用户,没有 NFS |
3 | 完全多用户模式(标准的运行级) |
4 | 安全模式 |
5 | 图形化(即图形界面) |
6 | 重新启动 (千万不要把initdefault 设置为6 ) |
3.8.12 shutdown
选项 | 说明 |
---|---|
-c | 取消已经在进行的shutdown指令内容 |
-h | 关机 |
-k | 发送警告信息给所有登录者 |
-r | 重启 |
shutdown –h now =init 0
shutdown –r now =init 6=reboot
3.8.13 命令历史
history
选项 | 说明 |
---|---|
-c | 清空当前历史命令 |
-a | 将历史命令缓冲区中命令写入历史命令文件【/root/ .bash_history】 |
-r | 将历史命令文件中的命令读入当前历史命令缓冲区 |
-w | 将当前历史命令缓冲区命令写入历史命令文件中【/root/ .bash_history】 |
n | 打印最近的n条历史命令 |
3.8.14 文本查找
grep
选项 | 说明 |
---|---|
-E | 开启扩展(Extend)的正则表达式 |
-i | 忽略大小写(ignore case) |
-v | 反过来(invert),只打印没有匹配的,而匹配的反而不打印 |
-n | 显示行号 |
-w | 被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker |
-c | 显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到 |
-o | 只显示被模式匹配到的字符串 |
–color | 将匹配到的内容以颜色高亮显示 |
-A n | 显示匹配到的字符串所在的行及其后n行,after |
-B n | 显示匹配到的字符串所在的行及其前n行,before |
-C n | 显示匹配到的字符串所在的行及其前后各n行,context |
fgrep -c
3.8.15 文本编辑
sed
(流编辑器)
-
只打印n行
只打印第三行
只打印第四行
#sed -n '3p' /tmp/b #sed -n '4p' /tmp/b
-
打印三到四行
#sed -n '3,4p' /tmp/b
3.8.16 文本分析
awk
-
仅取出前五行
仅显示最近登录的五个账号
#last -n 5 #last -n 5 | awk '{print $1}'
-
只是显示/etc/passwd的账户
#cat /etc/passwd |awk -F ':' '{print $1}'
-
只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
#cat /etc/passwd |awk -F ':' '{print $1"\t"$7}'
-
搜索/etc/passwd有root关键字的所有行
#awk -F: '/root/' /etc/passwd
- 使用自定义变量统计/etc/passwd的账户人数
awk '{count++;print $0;} END{print "user count is ", count}' /etc/passwd
count 为自定义变量
awk 'BEGIN {count=0;print "[start]user count is ", count} {count=count+1;print $0;} END{print "[end]user count is ", count}' /etc/passwd
初始化count=0;
- 显示
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd
建立数组
使用for循环遍历数组
- 显示hello world
echo |awk 'i="hello world"{print i}'
3.8.17 查找文件
find
- 可以查看目录下的目录
- 将目前目录及其子目录下所有最近 20 天内更新过的文件列出
3.8.18 显示进程
ps
选项 | 说明 |
---|---|
-A | 所有的进程均显示出来 |
-a | 不与terminal有关的所有进程 |
-u | 有效用户的相关进程 |
-x | 一般与a参数一起使用,可列出较完整的信息 |
-l | 较长,较详细地将PID的信息列出 |
-e | 显示所有进程,环境变量 |
-f | 全格式 |
- -A :所有的进程均显示出来
- -a :不与terminal有关的所有进程
- -u :有效用户的相关进程
- -x :一般与a参数一起使用,可列出较完整的信息
- -l :较长,较详细地将PID的信息列出
3.8.19 压缩文件
tar
-
压缩文件 tar -czvf 1.tar.gz test1
-
列出压缩文件内容 tar -tzvf 1.tar.gz
-
解压文件 tar -xzvf 1.tar.gz
-
czvf:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
3.8.20 time命令
第一行命令输入“time date”
系统先执行命令"date",第2行为命令"date"的执行结果。
第3-6行为执行命令"date"的时间统计结果,其中第4行"real"为实际时间,第5行"user"为用户CPU时间,第6行"sys"为系统CPU时间。
3.8.21 列出块设备
lsblk
3.8.22 计算和检验MD5信息签名
md5sum 文件名
3.8.23 uname 命令
uname 命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。
uname 显示内核类别
uname -a显示详细信息
- “Linux“: 机器的内核名
- “localhost.localdomain“: 机器的节点名
- “3.10.0-693.e17.x86_64“: 内核发布版本
- “#1 SMP “: 内核版本
- “X86-64“: 处理器架构
- “GNU/Linux“: 操作系统名
3.8.24 创建文件
touch 文件名