linux常用命令

命令提示符

[root\@localhost \~]\

root: 当前登录用户名
localhost: 主机名
~: 当前所在位置。其中~具体是指家用户,root用户为/root,普通用户为/home/用户名
#: 超级用户提示符为#,普通用户提示符为\$

常用快捷键

ctrl+c      强制中止当前命令
ctrl+l      清屏
ctrl+a      光标移动到命令行首
ctrl+e      光标移动到命令行尾
ctrl+u      从光标所在的位置删除到行首
ctrl+z      把命令放入后台
ctrl+r      在历史命令中搜索

命令基本格式

命令 [选项] [参数]

个别命令不遵守此格式
当有多个选项时,可以写在一起
选项分为简化选项(一个减号调用)和完整选项(两个减号调用)

其他常见命令

pwd                 #显示当前位置

clear               #清屏

touch               #新建

echo $PATH          #查看环境变量路径(以:分隔)

vi(或vim)           #查看/编辑文件

cat                 #查看文件

date                #查看时间

chmod               #赋权

more 文件名          #分屏查看

文件处理命令

ls

ls [选项] [文件或目录]

#选项 :
    -a  显示所有文件
    -l  显示详细信息
    -d  查看目录属性  
    -h  人性化显示文件大小
    -i  显示inode

#文件详细信息的权限部分:
    -rw-r--r--
        第一位:文件类型,-文件,d目录,l软连接文件
        234位:   u所有者权限
        567位:   g所属组权限
        8910位:o其他人权限
    r:读     w:写     x:执行

详细信息的大小默认单位为字节
名称以.开头的文件为隐藏文件

创建目录 mkdir

mkdir -p [目录名]

#用途:创建目录

#选项:

    -p: 递归创建

切换目录 cd

cd [目录]

#用途:切换所在目录

#简化操作
    cd ~    进入家目录
    cd -    进入上一次目录
    cd ..   进入上一级目录

删除目录 rmdir

rmdir [目录名]

#用途:删除目录        
#只能删除空目录

删除文件或目录 rm

rm -rf [文件或目录]

#用途:删除文件或目录

#选项:

    -r  删除目录

    -f  强制

如果不加-f的话,每个文件都会单独询问

复制 cp

cp [选项] [原文件或目录] [目标目录]

#用途:复制

#选项:
    -r  复制目录
    -p  连带文件属性复制
    -d  若源文件是链接文件,则复制链接属性
    -a  相当于 -pdr

重命名 移动 mv

mv [原文件或目录] [目标目录]

#用途:剪切或改名
#注意:该命令不需要加-r

创建软连接 ln

ln -s [原文件] [目标文件]

#用途:链接

#选项:
    -s 创建软链接

硬链接

​ 1.拥有相同的i节点和存储block块,可以看做是同一个文件

​ 2.可通过i节点识别

​ 3.不能跨分区

​ 4.不能针对目录使用

软链接

​ 1.类似windows的快捷方式

​ 2.软连接拥有自己的i节点和block块,但是数据块中指保存原文件的文件名和i节点号,并没有实际的文件存储块位置数据。

​ 3.lrwxrwxrwx l为软连接。软连接的权限都为rwxrwxrwx,但是实际权限是由原文件控制

​ 4.修改任意文件,另一个都改变

​ 5.删除源文件,软连接不可用

文件搜索命令

按文件名搜索 locate

locate [文件名]

在后台数据库中按文件名搜索,搜索速度更快
在/var/lib/mlocate这个后台数据库搜索
执行updatedb强制更新数据库
配置文件在/etc/updatedb.conf

查询命令 whereis

whereis [命令名]

#用途: 查询命令的命令。搜索命令所在路径及帮助文档的所在位置

#选项:

    -b: 只查找可执行文件
    -m: 只查找帮助文档

搜索命令路径 which

which [文件名]

#用途:搜索命令所在的路径及别名

条件搜索 find

find [搜索范围] [搜索条件]

#用途:搜索文件

#选项:
    -name            根据名字匹配
    -iname           不区分大小写
    -user            按照所有者搜索
    -nouser          查找没有所有者的文件
    -inum [数字]      查找节点是[数字]的文件

#按天数搜索:

    -mtime  +天数     n天前修改的文件
            天数      n天当天修改的文件
            -天数     n天内修改的文件
    -atime           文件访问时间
    -ctime            改变文件属性

#按文件大小搜索

    -size   -25k      查找小于25KB的文件
            25k       查找等于25KB的文
            +25k      查找大于25KB的文件

#多条件查询
    -a                and,逻辑与,两个条件都满足
    -o                or,逻辑或,两个条件满足一个即可

#对搜索结果进行操作

    结构:     find [范围] [条件] -exec [操作] {} ;  
              find [范围] [条件] -ok [操作] {} ;

示例

find /etc -size +20k -a -size -50k -exec ls -lh {} ;

#查询目录"/etc/"下,大于20KB且小于50KB的文件,并显示详细信息        

​ 如果需要匹配,则需要使用通配符,通配符是完全匹配。

​ 应当避免在过大范围搜索,会非常耗费系统资源。

​ 根据时间查询,一般用于搜索日志,删除超过n天的日志。

通配符

​ * 匹配任意内容

​ ? 匹配任意一个字符

​ [] 匹配任意一个中括号内的字符

匹配搜索 grep

grep [选项] 字符串 文件名

#用途:在文件中匹配符合条件的字符串

#选项:

    -i  忽略大小写
    -v  排除指定字符串

grep为包含匹配,可使用正则表达式进行匹配

find命令和grep命令的区别

一般搜索文件名使用find,用通配符。如果搜索的是文件当中的内容,则使用正则表达式匹配。

  • find命令:在系统当众搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
  • grep命令:在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式是包含匹配。

帮助命令

命令帮助 man

man [选项]

#用途:获取指定命令的帮助

#选项:        man -f 命令           查看帮助可选的级别(相当于whatis 命令)

          man [级别数字] 命令    查看指定级别的帮助

          man-k 命令            查看所有包含命令的帮助信息

命令帮助 --help

用途:获取命令选项的帮助

命令帮助 info

info [选项]
#选项:
    - 回车    进入子帮助页面(带有*号标记)
    - u     进入上层页面
    - n     进入下一个帮助小节
    - p     进入上一个帮助小节
    - q     退出

压缩和解压缩命令

常用压缩格式

.gz .bz2 .zip

.tar.gz .tar.bz2

.zip格式压缩

zip 压缩文件名 原文件
#用途:压缩文件

zip -r 压缩文件名 原目录
#用途:压缩目录

unzip 压缩文件 -d 解压位置
#用途:解压.zip文件

.gz格式压缩

gzip 原文件
#压缩为.gz格式的压缩文件,原文件会消失

gzip -c 原文件 > 压缩文件
#压缩为.gz格式,原文件保留

gzip -r 目录
#压缩目录下所有的子文件压缩为单独压缩包,不能压缩目录

gzip -d 压缩文件
#解压缩文件

gunzip 压缩文件
#解压缩文件

.bz2格式压缩

#【注意】bzip2命令不能压缩目录

bzip2 原文件
#压缩为.bz2格式,不保留原文件

bzip2 -k 原文件
#压缩之后保留原文件

bzip2 -d 压缩文件
#解压缩,-k保留压缩文件

bunzip2 压缩文件
#解压缩,-k保留压缩文件

.tar打包

tar -cvf [打包文件名] [原文件]

#用途:打包

#选项:
    -c  打包
    -v  显示过程
    -f  指定打包后的文件名

tar -xvf 打包文件名
#用途:解包

#选项:
    -x  解打包
    -v  显示过程
    -f  指定打包后的文件名

.tar.gz 和 .tar.gz2

tar -zcvf [压缩包名.tar.gz] [原文件]
#用途:压缩为.tar.gz格式

tar -zxvf 压缩包名.tar.gz
#用途:解压缩.tar.gz格式

tar -jcvf 压缩包名.tar.bz2 原文件
#用途:压缩为.tar.bz2格式

tar -jxvf 压缩包名.tar.bz2
#用途:解压缩.tar.bz2格式

tar -ztvf 或者是 -jtvf 压缩包名
#用途:测试压缩包,查看压缩包里的内容

关机和重启命令

关机 shutdown

shutdown [选项] [时间]

#选项:

    -c  取消前一个关机命令
    -h  关机
    -r  重启

#时间如果写now就是立刻执行
#命令最后加 &可以把命令放到后台执行,否则将无法在控制台做其他操作

例子:

shutdown -r 05:30 &
#在早上五点半执行重启,该重启任务放入后台执行

其他关机/重启命令

关机

halt
poweroff
init 0

#以上三条命令不安全,可能不会正确的保存关机状态    

重启

reboot
init 6

#尽量不使用init指令,理由同上   

退出登录

logout

#每次管理结束后尽量使用logout退出

其他常用命令

挂载命令 mount

参数说明

mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点

#选项:
    -t  文件系统,加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
    -o  特殊选项,可以指定挂载的额外选项

额外选项:

参数 说明
exec/noexec 执行、不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许。
atime/notime 更新访问时间/不更新访问时间。访问文件分区时,是否更新文件的访问时间,默认为更新。
async/sync 异步/同步
auto/noauto 自动/手动。mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动
defaults 自定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项。
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限。
rw/ro 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
suid/nosuid 具有/不具有SUID权限,设定文件系统是否允许普通用户挂载,默认是不逊于,只有root可以挂载分区。
user/nouser 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区。
usrquota 写入代表文件系统支持用户磁盘配额,默认不支持。
grpquota 写入代表文件系统支持组磁盘配额,默认不支持。

例子

mount -o remount,noexec /home
#重新挂载/home分区,并使用noexec权限
mount
#查询系统中已经挂载的设备
mount -a
#根据配置文件/etc/fstab的内容,自动挂载

挂载光盘

mkdir /mnt/cdrom/
#建立挂载点

mount -t iso9660 /dev/cdrom /mnt/cdrom/
#挂载光盘

mount /dev/sr0 /ment/cdrom/
#挂载光盘的另一种方式(更推荐使用这种方式)

卸载命令

umount 设备文件名或挂载点

umount /mnt/cdrom
#或
umount /dev/sr0

挂载U盘

fdisk -l
#查看U盘设备文件名

mount -t vfat /dev/设备名 /mnt/usb/
#挂载U盘

#Linux默认不支持NTFS文件系统的

用户查看命令

w

w [用户名]
含义
USER 登录的用户名
TTY 登录终端
FROM 从哪个IP登录
LOGIN@ 登录时间
IDLE 用户闲置时间
JCPU 指的是和该终端链接的所有进程占用的时间。这个时间并不包括过去的后台作业时间,单却包括当前正在运行的后台作业所占用的时间
PCPU 指当前进程所占用的时间
WHAT 当前正在运行的命令

who

只能看到用户名,来源终端,登录IP

last

查询当前登录和过去登录的用户信息

last命令默认读是读取/var/log/wtmp文件的数据

命令输出:

​ 用户名

​ 登录终端

​ 登录IP

​ 登录时间

​ 退出时间(在线时间)

lastlog

查询所有用户最后一次登录的时间

last命令默认读是读取/var/log/lastlog文件的数据

命令输出:

​ 用户名

​ 登录终端

​ 登录IP

​ 最后一次登录时间

如人饮水,冷暖自知。
最后更新于 2023-08-20