虚拟机和Linux系统的安装可以参考这篇文章~Liunx操作系统简介
Linux常用命令介绍
在此将常用命令归类整理为六类:基础命令、与文件或目录相关命令、与进程相关命令、用户及用户组的管理命令、与系统相关的命令和求帮助命令
一、基础命令
ls
作用:列出目录的内容。list show的简写
语法:ls [options] [dirname]
选项 | 作用 |
---|---|
-l | 显示文件的详细信息(文件的权限、连接数、拥有者、所属群组、大小、用户名、角色、最后修改日期和文件名) |
-a | 显示指定目录下所有子目录与文件, 包含隐藏文件 |
-h | 配合 -l 以人性化的方式显示文件大小(文件大小 + 单位) |
案例
ls # 查看当前目录内容(隐藏文件看不到)
ls -l # 查看当前目录内容的详细信息。快捷方式:ll
ls -a # 查看当前目录内容,包括隐藏文件
ls -la # 查看当前目录内容的详细信息,包括隐藏文件
ls -lh # 查看当前目录内容的详细信息,以为K,M,G方式显示文件大小
ls /root #查看/root目录下内容
cd
输出 pwd (print working directory)命令可立刻得知当前用户所在的工作目录的绝对路径
作用:更改当前的工作目录。Change Directory 的简写
语法:cd [相对路径或绝对路径]
案例
cd # 切换到用户主目录(root用户主目录是/root,其他用户是/home/用户名)等价于 cd ~
cd test # 访问到当前目录下的test目录(相对路径) 等价于 cd ./test
cd ./ # 访问当前目录(相对路径)
cd .. # 访问上一级目录(相对路径)
cd ../.. # 访问上上一级目录(相对路径)
cd ../dir # 访问上一级的dir目录 (相对路径)
cd /root/test # 切换到指定目录(绝对路径)
二、与文件或目录相关命令
touch
作用:创建文件
语法:touch 文件名
案例
touch a.txt # 在当前目录创建a.txt文件
touch /root/a.txt # 在/root目录创建a.txt文件
touch file{1..3} # 创建file11、file2、file3
mkdir
作用:创建目录(文件夹)
语法:mkdir [options] 目录名称
参数 | 作用 |
---|---|
-p | 一次创建多级目录 |
案例
mkdir kazi # 创建单级目录
mkdir -p a/b/c # 创建多级目录
rm
作用:删除文件或者目录
语法:rm [options] 文件或目录名
参数 | 作用 |
---|---|
(force强制)-f | 强制删除,忽略不存在的文件或目录, 无需提示 |
(recursive 递归)-r | 递归地删除目录下的内容, 删除目录时必须加此参数 |
案例
rm 文件 # 删除文件,有提醒(只在root用户中才有提醒,普通用户无提醒)
rm -f 文件 # 删除文件,无提醒
rm -r 目录 # 删除目录,有提醒(只在root用户中才有提醒,普通用户无提醒)
rm -rf 文件或目录 # 删除文件或目录,有提醒(只在root用户中才有提醒,普通用户无提醒)
rm -rf a* # 删除以a开头的全部文件或目录
cat
作用:查看小文件的内容
语法:cat 文件名称
拓展:
在Shell脚本中,有两个符号(> 和 >>)
作用:把前面命令的执行结果重定向到某个文件中
> 覆盖操作
>> 追加操作
echo 111 > a.txt # 把echo的执行结果 输入 到linux.txt
echo 222 > a.txt
cat a.txt # 输出结果:222
echo 111 > a.txt # 把echo的执行结果 追加 到linux.txt
echo 222 >> a.txt
cat a.txt # 输出结果: 111
# 222
more
作用:查看大文件(超过一屏显示)的内容,可以按页或者按行显示文件内容
语法:more 文件名称
案例:
# sysctl.conf是自带的配置文件,可以直接查看
# 快捷键
# Enter键:向下n行, 默认为1行
# B键:返回上一页
# Q键:退出more
more /etc/sysctl.conf # 以more模式显示该文件的部分内容,用快捷键可以控制展示内容
cp
作用:复制指定文件或者目录。copy 简写
语法:cp [options] 源路径 目标路径
参数 | 作用 |
---|---|
-r | 递归拷贝目录 |
案例:
cp a.txt dir # 将a.txt复制到dir目录
cp a.txt b.txt # 复制a.txt内容到b.txt(自动创建文件b.txt)
cp –r dir1 dir2 # 复制目录(自动创建目录dir2)
mv
作用:用于文件、目录的移动和重命名。move 的简写
语法:mv 原路径 目标路径
mv移动的案例:
# 目录路径如果存在是移动操作,否则是重命名
mv a.txt dir # 将a.txt移动到dir
mv sub_dir dir # 将sub_dir移动到dir
mv重命名的案例:
# 目录路径如果存在是移动操作,否则是重命名
mv a.txt b.txt # 将a.txt重命名为b.txt
mv dir1 dir2 # 将dir1目录重命名为dir2
tar
作用:压缩或解压缩文件
语法:tar [options]
options | 作用 |
---|---|
-z | 调用gzip压缩命令进行压缩,把文件压缩为.gz格式 => .gz格式 => xxx.tar.gz |
-c | 打包。只是把多个文件合并成文件夹,不进行没有压缩 |
-x | 解压缩 |
-v | 显示运行过程的信息,显示压缩或者解压缩进度(可选) |
-f | 指定压缩后的文件名称(必选) |
-z 压缩,-c 打包,-x 解压缩
案例:
# ----------打包----------
touch file{1..3}.txt # 生成file1.txt、file2.txt和file3.txt文件
tar -cvf file-1.0.tar file{1..3}.txt # 仅将文件打包,不进行压缩。后缀是tar
# ----------打包----------
# ----------压缩----------
tar -zcvf file-1.0.tar.gz file{1..3}.txt # 生成压缩包file-1.0.tar.gz。后缀是gz
# ----------压缩----------
# ----------查看----------
tar -tf file-1.0.tar.gz # 查看压缩包中的内容
# ----------查看----------
# ----------解包或解压缩----------
tar -xf file-1.0.tar.gz # 解压缩简写
# ----------解压缩----------
chmod
作用:更改文件权限
语法:chmod [options] 文件名或目录名
- -R:递归修改,不仅可以修改文件夹本身的权限,还可以修改文件夹内部的所有文件权限
拓展内容(熟悉):
ls -l # 查看文件的权限,简写ll
权限 | 针对“文件” | 针对“目录” |
---|---|---|
r | 读取内容 | 读取目录内容(子文件名称) |
w | 修改文件内容 | 在该目录中创建或删除文件和目录 |
x | 运行该文件 | cd进入该目录 |
注意事项:
- 以上r、w、x权限都只能针对普通用户,无法限制超级管理员root
- 在目录中,r和x权限一般属于组合权限,通常是一起出现的,很少单独出现
案例1:
通过字母方式修改文件权限
chmod u=rwx 文件名 # 将文件的拥有者权限修改rwx模式
chmod -R u=rwx,g=rx,o=rx 目录 # 修改该目录及其内部的所有文件权限
# 如果针对u、g、o三者设置相同权限,我们还可以使用a来替代ugo
chmod -R a=rwx 目录
# 可以使用+或-修改权限
chmod u-x 文件名 # 删除文件拥有者的x权限
chmod命令可以通过字母方式修改文件权限,也可以通过数字方式修改文件权限
每一个权限都有一个对应的数字
r=4、w=2、x=1
常见数字:
- 777:代表 rwx rwx rwx
- 775:代表 rwx rwx r-x
- 755:代表 rwx r-x r-x
- 654:代表 rw- rw- r–
- 644:代表 r-x r-- r–
案例2:
chmod 777 文件 # 将该文件的所有权限设置为rwx
三、与进程相关命令
ps
作用:显示当前进程的状态,类似于 windows 的任务管理器。Process Status简写
语法:ps [options]
- -ef:显示进程所有信息
案例:
ps -ef # 显示所有命令,连带命令行
# 一般搭配grep使用
ps -ef | grep bash # 在所有进程中查找包含bash内容的进程
- UID :启动这个进程的UID(用户)编号
- PID :关键,代表进程的ID => 每个进程的ID编号都是唯一的
- PPID :父进程,如果这个值不为0,则代表当前这个进程的父进程编号
- C :CPU占有率
- STIME :启动时间
- TTY :在哪个终端打开的
- TIME :运行时间
- CMD :进程的名称或者进程的位置
kill
作用:终止执行中的程序
语法:kill [options] [进程号]
- -9:强制杀死进程
- -15:正常结束进程
案例:
测试:可以开两个窗口
第一个窗口运行top命令
第二个窗口通过ps -ef查看进程编号,比如进程号为43089,则在第二个窗口执行以下操作可以结束进程。
kill -15 43089 # 正常结束pid为12345的进程(默认)
四、用户及用户组的管理命令
su
作用:切换(用户)账号
语法:su [-] [账号名称]
- -横岗:代表切换用户的同时,把当前的目录切换到用户的家目录(推荐使用)
案例
su kazi
su - kazi
useradd
作用:创建账号(root命令)
语法:useradd 账号
案例
useradd kazi # 创建账号
passwd 12345678 # 设置密码。 Linux中创建了新账号,如果不设置密码,那还是无法登录
# 查看某个账号是否存在
id kazi
useradd 用户名称 -g 组名称 # 将用户加入用户组
passwd
作用:创建密码(root命令)
语法:passwd 密码
案例
passwd 123456 # 设置密码,如果是root,可以无视密码必须8位数以上的约束
userdel
作用:删除账号(root命令)
语法:userdel [-r] 账号
- -r :删除用户的同时,删除用户的家目录 => /home/用户名文件夹。不加就会保留用户的家目录
案例
userdel -r kazi # 删除用户账号及其家目录文件
groupadd
作用:创建用户组(root命令)
语法:groupadd 组名
groupdel
作用:删除用户组(root命令)
语法:groupdel 组名
五、与系统相关的命令
ifconfig
作用:显示当前有效接口的状态,可以查看当前主机的ip地址用于连接
语法:ifconfig
案例
ifconfig # ip a 命令也有类似的功能
|(管道命令)
作用:| 管道前面命令的执行结果作为后面命令的参数。
一般与其他命令配合使用,如ps和rpm等
grep
作用:
- 对文件内容进行检索,返回包含指定内容的全称
- 注重查找文件的内容
语法:grep [options] 指定内容
- -n:显示行号信息
案例:
touch demo.txt
echo 111 > demo.txt
echo 222 >> demo.txt
grep 222 demo.txt # 在文件中查找222
grep -n 222 demo.txt # 在文件中查找222并显示行号信息
ps | grep p # 查找当前进程中查看是否含有带p字的进程,并返回该进程信息
find
作用:
-
在指定路径及其下子目录中查找指定文件,返回该文件的存储地址
-
比grep查找穿透力更强,更注重查找文件名称
语法:find 搜索路径 [-options] 搜索内容
- -name: 按照文件名搜索
- -iname: 按照文件名搜索,不区分文件名大小
- -inum: 按照 inode 号搜索
案例:
find / -name yum.conf # 查找根目录下yum.conf的文件
find / -iname yum.conf # 查找根目录下yum.conf的文件(不区分大小写,例YUM.conf)
which
作用:显示执行命令的绝对位置
语法:which 命令
在Linux操作系统中,一切皆文件,命令也是一个文件,如果想查看其具体位置,可以通过which语句
案例:
which ls # 查看ls命令存储在什么路径
shutdow
作用:关机
语法:shutdow [options] time
- -h:关机后停机
案例:
shutdown -h now # 立刻关机
shutdown -h 10 # 10分钟后关机
六、求帮助命令
history
作用:查看当前终端中,之前输入的指令信息
语法:history
man
作用:查看指定命令的文档。manual缩写
语法: man 命令
man ls # 查看ls命令的文档
# 退出more的话需要按Q键