[OS]Linux常用命令
[OS]Linux常用命令
主要内容来自《Linux达人养成计划I》
也推荐一下《鸟哥的Linux私房菜》
命令基本格式
命令提示符格式
[role@host directory]sign----[角色@主机名 当前所在目录]提示符
role: root为管理员(超级用户),可以自己创建用户,比如我为xwk
host: 主机名,随意设定,默认为localhost。
directory: 其中~为/home目录(如果登录用户为超级用户,则 ~为/root目录 ),/为根目录。
sign: 只起到提示当前用户权限的作用,#为超级用户提示符,$为普通用户提示符。
命令格式
命令 【选项】【参数】
当有多个选项时,可以写在一起。
可以简化选项,比如ls --list 可以简写为 ls -l
基本命令
目录相关
ls
作用:查询目录中的内容
格式:ls 【选项】 【文件或目录】(默认为当前目录)
选项 | 作用 |
---|---|
显示当前目录下的所有文件 | |
-a | 显示所有文件,包括隐藏文件 |
-l | 显示详细信息 |
-d | 查看目录属性 |
-h | 人性化显示文件大小 |
-i | 显示inode |
实例
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls -a
. .. Dir1 Dir2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls -l
总用量 8
drwxr-xr-x 2 xwk xwk 4096 2月 20 17:26 Dir1
drwxr-xr-x 2 xwk xwk 4096 2月 20 17:26 Dir2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls -d
.
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls -d Dir1
Dir1
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls -h
Dir1 Dir2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls -i
4603978 Dir1 4603979 Dir2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2
补充:
ls -l 显示的结果:drwxr-xr-x 2 xwk xwk 4096 2月 20 17:26 Dir1
0位:d代表目录,还有-文件,|软链接,b块设备文件,c字符设备文件,p管道文件,s sock文件
1-3位:所有者,rwx,可读可写可执行
4-6位:所属组,r-x,可读不可写可执行
7-9位:其他人,r-x,可读不可写可执行
10位:所含子目录个数
xwk xwk:所有者 所属组
后面比较好理解,不做阐述。同时如果是不同的文件类型,第10位有不同的含义。
mkdir
作用:创建目录
格式:mkdir 【-p】 【目录名】
-p指的是递归创建,不加-p只能在已有的目录下创建一个新的目录,而-p可以先创建一个不存在的目录,然后在该目录下创建新的目录。
实例:
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ mkdir Dir3
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2 Dir3
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ mkdir -p Dir4/Dir4-1
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2 Dir3 Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls Dir4
Dir4-1
cd
作用:切换目录
格式:cd 【目录】
其中cd ~ 切换到当前用户家目录;cd - 切换到上次目录;cd .. 切换到上一级目录
实例:
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ cd Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ pwd
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ cd ..
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ pwd
/home/xwk/Desktop/CodeSpace/LinuxCommandTest
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ cd -
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ cd ~
(base) xwk@xwk-PC:~$ pwd
/home/xwk
(base) xwk@xwk-PC:~$ cd -
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ cd .
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ pwd
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/Dir4
补充:
相对路径:从当前目录开始,开头不带/,eg:cd dir
绝对路径:从根目录开始,以/开头,eg:cd /home
pwd
格式:pwd
作用:显示目录所在位置
实例:
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ pwd
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/Dir4
rmdir
格式:rmdir 【目录名】
作用:删除空目录
实例:
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2 Dir3 Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ rmdir Dir3
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2 Dir4
rm
格式:rm 【选项】【文件或目录】
作用:删除文件和目录
选项 | 作用 |
---|---|
-i | 删除前逐一询问确认 |
-f | 强制删除,无需确认 |
-r | 目录以及目录下的文件全部删除 |
实例:
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ rm -rf Dir2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ cd Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ ls
Dir4-1 text1.txt text2.txt
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ rm -i text1.txt
rm:是否删除普通空文件 'text1.txt'?y
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ ls
Dir4-1 text2.txt
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ rm -rf *
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir4$ ls
补充:
rm不加选项或者只加选项-i,只能删除文件;
rm -rf * 删除当前目录下的所有文件和目录。
cp
格式:cp 【选项】【原文件或目录】【目标目录】
作用:复制文件或目录
选项 | 作用 |
---|---|
-r | 复制目录 |
-p | 连带文件属性复制(包括文件创建时间等) |
-d | 若源文件是链接文件,则复制链接属性 |
-a | 相当于-pdr |
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls Dir1
text1.txt text2.txt txt1
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ cp -r Dir1 Dir2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2 Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls Dir2
text1.txt text2.txt txt1
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir1$ ls -l
总用量 0
-rw-r--r-- 1 xwk xwk 0 2月 20 17:26 text1.txt
-rw-r--r-- 1 xwk xwk 0 2月 20 17:26 text2.txt
-rw-r--r-- 1 xwk xwk 0 2月 21 11:33 txt1
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir1$ cp -p txt1 txt2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir1$ ls -l
总用量 0
-rw-r--r-- 1 xwk xwk 0 2月 20 17:26 text1.txt
-rw-r--r-- 1 xwk xwk 0 2月 20 17:26 text2.txt
-rw-r--r-- 1 xwk xwk 0 2月 21 11:33 txt1
-rw-r--r-- 1 xwk xwk 0 2月 21 11:33 txt2
mv
格式:mv 【源文件或目录】【目标目录】
作用:剪切文件或目录,也可以用来改名
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir1$ ls
text1.txt text2.txt txt1 txt2
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir1$ mv txt2 ../Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest/Dir1$ ls ../Dir4
txt2
介绍一些特殊目录
主要是根目录下的一级目录。
目录名 | 作用 |
---|---|
bin、sbin、usr/bin、usr/sbin | 保存系统命令 |
boot | 启动目录,保存用户启动数据,不要在次写数据 |
dev | 特殊文件保存目录,硬件设备等 |
etc | 系统配置文件的保存目录 |
home | 普通用户家目录 |
root | 超级用户家目录 |
lib | 函数库 |
media | 挂载外接光盘 |
mnt | 挂载外接U盘 |
misc | 挂载外接磁带 |
temp | 临时文件 |
proc、sys | 挂载内存,不能操作 |
usr | 保存系统软件资源 |
var | 保存系统相关文档 |
文件相关
ln
格式:ln 【-s】 【源文件】【目标文件】
作用:生成链接文件
不加-s为硬链接;加-s为软连接,原文件要写绝对路径。
硬链接:
-拥有相同的i节点和存储block块,可以看做是同一个文件。
-可以通过i节点识别
-不能跨分区
-不能针对目录使用
软连接:
-类似windows中的快捷方式
-拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号
-文件权限为777,不代表目的文件的权限也是777
-删除原文件,软链接不能使用
touch
格式: touch 【-acm】【-r<参考文件或目录>】【-t<日期时间>】
作用:修改文件或目录的属性,如果文件不存在,则创建新文件。
选项 | 作用 |
---|---|
a | 改变档案的读取时间记录 |
m | 改变档案的修改时间记录 |
c | 如果文件不存在,不会创建 |
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2 Dir4
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ touch txt1
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ ls
Dir1 Dir2 Dir4 txt1
rm,cp,mv
目录相关中介绍过了。
locate
格式:locate 文件名
作用:搜索文件,在后台数据库中按文件名搜索,搜索速度快。
后台数据库在/var/lib/mlocate,不是实时更新,通过updatedb命令强制更新数据库实现实时更新。
并且搜索受/etc/updatedb.conf文件内容限制,主要是一些筛选规则。‘yes’代表不搜索的内荣,‘no’代表搜索的内容。
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ locate txt1
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/Dir1/txt1
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/Dir2/txt1
/home/xwk/Desktop/CodeSpace/LinuxCommandTest/txt1
find
格式:find 【搜索范围】【选项】【搜索条件】
作用:用于搜索文件等
选项 | 作用 |
---|---|
-name | 按名字搜索(可用通配符) |
-iname | 按名字搜索,不区分大小写 |
-user | 按所有者搜索 |
-nouser | 查找没有所有者的文件(比如垃圾文件) |
-atime | 文件访问时间 |
ctime | 改变文件属性的时间 |
mtime | 修改文件内容的时间 |
-size | 按照我呢间大小搜索 |
-inum | 安装i节点编号搜索 |
-a | and 条件与 |
-o | or 条件与 |
-exec | 用选项后的命令处理结果 |
涉及时间:+10,10天内;10,10天当天;-10,10天前
设计文件大小:+25k,大于25k的文件;25k,等于25k的文件;-25k,小于25k的文件(其他单位:M)
-exec 命令 {} ; : exec 后面要加上{} ;
实例:
# 搜索根目录下所有文件
find / -name '*'
# 查找垃圾文件
find /home -nouser
# 查/home下大于20K小于50K的文件
find /home -size +20K -a -size -50K
# 查/home下大于20K小于50K的文件,并详细显示
find /home -size +20K -a -size -50K -exec ls -l {} \;
帮助命令
man
格式:man [-f/number] 命令
作用:获取指定命令的帮助
不同的数字代表命令的不同等级(命令,可被内核调用的函数,配置文件等)
实例:
# 查看ls的帮助文件
man ls
# 查看ls有哪些等级帮助文件
man -f ls
# 查看passwd等级为5的帮助文件
man 5 passwd
whatis
相当于man -f 命令
apropos
格式:apropos str
作用:查找所有包含str的帮助文件
相当于man -k str
--help
格式:命令 --help
作用:查看命令的选项帮助
help
格式:help shell命令
作用:获取shell命令的帮助
info
格式:info 【选项】 命令
作用:获取命令的帮助信息
(deepin默认没有安装info)
在返回的帮助信息中,回车-进入子页面;u-进入上层页面;n-进入下一页;p-进入上一页;q-退出
压缩和解压缩
不同的压缩方式用后缀名区别,压缩包用红色显示
.zip
# 压缩命令:
zip 压缩文件名 源文件
zip -r 压缩目录名 源目录
# 解压缩:
unzip 压缩文件
.gz
# 压缩:
gzip 源文件 # 源文件会消失
gzip -c 源文件 > 压缩文件 # 源文件保留下来
gzip -r 目录 # 压缩目录下所有的子文件
# 解压缩
gzip -d 压缩文件
gunzip 压缩文件
gunzip -r 目录 # 解压目录下的压缩文件
.bz2
# 不能压缩目录
# 压缩
bzip2 源文件 #不保留源文件
bzip2 -k 源文件 #保留源文件
# 解压缩
bzip2 -d 压缩文件 #不保留源文件
bzip2 -dk 压缩文件 #保留压缩文件
bunzip2 压缩文件 #不保留源文件
bunzip2 -k 压缩文件 #保留压缩文件
.tar
# 用于将目录打包,然后可以用.gz或者.bz2压缩,实现目录压缩
# 打包
tar -cvf 打包文件名 源文件 # -c:打包,-v:显示过程,-f:指定打包后的文件名
# 解打包
tar -xvf 打包文件 # -x:解打包
.tar.gz
# 一步直接到.tar.gz
# 压缩
tar -zcvf 压缩包.tzr.gz
tar -zcvf 压缩包.tzr.gz 源文件1 源文件2 源文件3 # 压缩多个文件
# 解压缩
tar -zxvf 压缩包.tzr.gz
tar -zxvf 压缩包.tzr.gz -C 指定目录 # 指定解压缩位置
# 查看压缩包内容但是不解压
tar -ztvf 压缩包
.tar.bz2
# 一步直接到.tar.bz2,命令与.tar.gz类似
# 压缩
tar -jcvf 压缩包.tzr.bz2 源文件
# 解压缩
tar -jxvf 压缩包.tzr.bz2
关机和重启
shutdown
格式:shutdown [选项] 时间
常用shutdown进行关机和重启
选项:
-c,取消前一个关机命令
-h,关机
-r,重启
shutdown -r 23:00
shutdown -c # 上一条重启命令被撤销
shutdown -r now
halt,poweroff,init 0
关机命令,不常用
reboot,init6
重启命令,reboot常用,init 6不常用
其他
whereis
格式:whereis [选项] 命令名
作用: 搜索系统命令所在的路径,以及帮组文档所在的位置(找不到shell自带的命令,比如cd)
-b 只查找可执行文件
-m 只查找帮助文件
实例:
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ whereis -b ls
ls: /usr/bin/ls
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ whereis -m ls
ls: /usr/share/man/man1/ls.1.gz
which
格式:which 文件名
作用:查看命令以及对应的别名(找不到shell自带的命令,比如cd)
实例:
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ which ls
/usr/bin/ls
grep
格式:grep [选项] 字符串 文件名
命令:搜索文件内容与字符串匹配的行
-i 忽略大小写
-v 排除指定字符串
字符串可以用正则表达式代替
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ grep -i 'line1' txt1
line1 -1
(base) xwk@xwk-PC:~/Desktop/CodeSpace/LinuxCommandTest$ grep -v 'line1' txt1
line2 -2
line3 -3
line4 -4
line5 -5
挂载
Linux中一切皆文件,可以将其看做为一棵文件树,挂载就是将新的文件接入到文件树上。可以挂载硬盘,U盘,鼠标,键盘等等。
mount
格式: mount 【-t 文件系统】【-o 特殊选项】 设备文件名 挂载点(目录)
作用:查询和挂载
-t 文件系统:eg:ext3,ext4,iso9660
mount # 查询已经挂载的设备
mount -a # 根据配置文件/etc/fstab的内容,自动挂载
mount -o remount,noexec /home/ # 重新挂载home,设置为不允许执行可执行文件
mount -o remount,exec /home/ # 改回来
# 挂载光盘
mkdir /mnt/cdrom/ # 建立挂载点
mount -t iso9660 /dev/sr0 /mnt/cdrom/ # 挂载光盘
umount
格式:mount 设备文件名或者挂载点
作用: 卸载
umount /dev/sr0
w
格式:w 用户名
作用:输出用户信息
USER:登录用户名;
TTY:登录终端;
FROM:从哪个IP地址登录;
LOGIN@:登录时间;
IDLE:用户闲置时间;
JCPU:指的是和该终端连接的所有进程占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;
PCPU:是指当前进程占用的时间;
WHAT:当前正在运行的命令。
w # 输出所有用户信息
w xwk # 输出用户xwk的信息
who
格式:who 用户名
作用:输出用户信息
输出:用户名 登录终端 登录时间
last
格式:last
作用:查询当前和过去登录的用户
输出:用户名 登录终端 登录IP 登录时间 退出时间
lastlog
格式:lastlog
作用:查看所有用户最后一次登录时间
输出:用户名 登录终端 登录IP 最后一次登录时间
环境变量
/etc/environment
:用于为所有进程设置环境变量,是系统登录时读取的第一个文件,与登录用户无关,修改后需要重启系统生效。/etc/profile
:用于设置针对系统所有用户的环境变量,是系统登录时读取的第二个文件,与登录用户无关。~/.profile
:用于当前用户的profile文件,用于设置用户的工作环境,只执行一次。~\.bashrc
:对应当前用户的bash初始化文件,每打开一个终端就会被执行一次。