本文最后更新于 2025-11-10,文章内容可能已经过时。

混合命令

ctrl + alt   退出虚拟机   
$结尾为普通用户    #结尾为管理员用户
查看版本号  lsb_release -a
关闭虚拟机  poweroff
重启虚拟机  reboot
/dev目录主要存放设备文件
命令的执行依赖于解释器(默认解释器/bin/bash)
用户--》解释器----》内核---》硬件
绿色可以执行的程序
通配符*
ls  /root/ab*    后边可以是   ls  /root/abcdjjdf   可以匹配无数位
ls  /root/ab?  后边只能是  ls   /root/abe   只能匹配一位
ls  /root/ab[0-9]  后边匹配一个0-9之间的数字
ls  /root/ab{18,39,89}   后边匹配一个三个数其中一个

硬盘接口   ls  /dev/sda     abc代表第几块
识别当前硬盘的名字  lsblk
光盘镜像文件 ----》 虚拟光驱设备(/dev/cdrom ---> sr0)-->挂载点(目录)(只读不能干别的)
mkdir   /dvd
mount  /dev/cdrom   /dvd    挂载  (临时挂载)
umount   /dvd    卸载
一个设备可以有多个挂载点目录
挂载点目录最好自己创建
~用户的家目录:专门储存用户个性化信息的目录
/root是管理员用户的家目录
/home/用户   是普通用户的家目录
浅蓝色:表示软链接(symbolic link),它是指向另一个文件的指针。
白色:代表普通文件或硬链接。普通文件可以包含文本、数据或程序信息。
蓝色:表示目录,即包含其他文件和目录的文件夹。
红色:通常用于表示压缩文件或归档文件。如果一个文件被删除,但仍存在指向该文件的软链接,则该软链接也会显示为红色。
黄色:表示字符设备文件,如键盘和鼠标等设备文件。
绿色:代表可执行文件,即用户或系统可以执行的程序。

du查看目录

du -sh  目录  #查看目录占用硬件的空间

ls列出目录下的内容

-a展示所有隐藏文件  -l列表排列,展示更多信息如时间、权限   -h展示文件大小
-d(只展示目录本身不展示目录下的文件)  -R(递归显示文件内容)  -A(不显示隐藏文件目录 ./ ../)

cd切换目录

/ 根目录是linux系统的起点  
绝对路径是以根目录为起点  相对路径是以当前目录为起点
cd       cd  ..  切换上一级目录     cd ~  切换到HOME路径

pwd当前工作目录

pwd 显示当前所在目录

mkdir创建目录

mkdir  创建新的目录     -p 如果创建目录的父级目录不存在,会自动创建父级目录

touch创建文件

touch  文件名       touch   intheima.txt

cp复制

cp   -r   参数1  参数2  将1复制到2的位置上   复制文件和文件夹
cp   -r   /abc/111  /opt/666  ls  /opt/666  111 如果目录中有666这个文件,则复制文件过去到该文件下
cp   -r   /abc/111  /opt/666  ls  /opt      666 如果目录中没有666这个文件,则复制文件过去并改名为666
cp   -r   /abc/111  /opt/111  ls  /opt/111  111 如果目录中有111这个文件,则复制文件过去到该文件下

mv命令

mv  参数1  参数2  将1移动到2  移动文件和文件夹   如果文件或文件夹不存在则进行改名

rm命令

rm  删除文件和文件夹  -r删除文件夹时使用   -f强制删除无提示
rm加通配符  如:rm  -r  test*   删除当前目录下所有以test开头的文件或文件夹
rm  -rf  /abc/111/*  删除111文件夹下所有文件及文件夹
rm  -rf  /abc/111    删除111文件夹
rm删除以最后路径为主,最后出现的是什么就删除什么

find查找文件

find  /  -name  ".*"  #查找隐藏数据
find  /  -size  +10k  -10M (大于10k,小于10M)  按文件大小查找文件
find  /  -type  f   按类型查找
find  /  -mtime  90  (查找90天之前创建的文件)
-type 类型 (f文本、d目录、l快捷方式)
-name 文档名称
-size 文件大小
-user 文件所属用户组
-mtime 数据的修改时间
将查到的文件进行处理
find [范围] [条件] -exec 处理命令  {}  \;
-exec额外操作的开始
{}前边find查找的结果
\; 额外操作的结束

find / -size  +10  -exec  cp  {}  /opt  \;  复制过去的目录必须存在

which查找命令

which  查找命令放在哪个文件夹了   which  cd      which   pwd

grep过滤文件内容

grep 过滤文件内容  -n  显示行号  -i 忽略大小写进行过滤  -v取反不包含
grep  -n  itcast   itcast.txt
grep  -v ^# /opt/abc.txt |  grep -v  ^$   过滤有效信息

wc统计单词行数、单词数、字符数量

wc  -c(字节) -m(字符) -l(行数) -w(单词)  itcast.txt

|管道符

g

echo重定向符

重定向符  >(覆盖)  >>(追加)  如下示例
echo  "itheima" >  itheima.txt   覆盖
echo  "itheima" >>  itheima.txt   追加
-e  将\t输出为tab键  -n 输出内容后不换行  例如:echo  -n  hello  ;  echo   world

cat查看文件内容

cat -n(加行数)  查看文件内容      cat  -n   itheima.txt

tail查看文件尾部内容

tail  查看文件尾部内容,追踪文件的持续更改,语法如下:
tail  -num(数字) -f  文件名  num不写默认 默认查看尾部后10行
tail  error.log  查看后10行  tail -5  error.log查看后5行  tail  -f  error.log  持续查看文件更改

head查看文件前几行

head  -2  abc.txt  查看文件前两行  默认十行

less滚动查看文件

less  文件   鼠标滚动查看   q退出   

more翻页查看

more  文件    空格翻页    q退出

vim编辑器

注:vim只能创建文件,不能创建目录
快捷键:
光标下r数字字母替换
命令模式 dd删除光标所在行  nyy复制当前和下边的n行 ndd删除当前和下边的n行  n是数字  p粘贴到光标之前
gg回到开头  G来到结尾  d$删除当前行光标之后的内容  d^删除光标之前当前行的内容  u撤销修改  crtl_r 取消上一次的撤销  ZZ保存并退出
crtl+n补全命令
:set nu(number)  显示行号  set nonu 取消行号  :%d删除所有内容  : /单词   回车    然后按n跳转要查找的单词所在处
将一个文件的内容上传到vim中  :r  /opt/1.txt
字符串替换   :1,10s/#/new/   将文本内前十行中的#替换为new   :%s/root/new/ 将文本内所有root替换为new
同时编辑多个文件(一般用来做对比) vindiff  /opt/111.txt  /opt/222.txt   ctrl  +   w   切换控制页面  :wqa  都保存并退出
vim -o  /opt/111.txt  /opt/222.txt   同时打开两个文件
永久性设置  vim   ~/.vimrc  默认没有需自己创建
编辑模式
底线命令模式:  wq保存并退出  :q仅退出  :q!强制退出   :w仅保存

ctrl +  x  退出nona编辑器
当无法输入中文在xshell8属性,终端选择utf-8点击确认
使用vim编辑文件中出现故障,再次打开出现交换文件,把交换文件删除即可  

为普通用户配置sudo认证

切换到root用户
vim  /etc/sudoers
在文件最后添加
用户名 ALL=(ALL) NOPASSWD:ALL (使用sudo命令,无需输入密码)

useradd创建用户

useradd   用户名  -m(创建home)
passwd    用户名   设置密码
切换用户:  su 用户名 -(加载环境变量) 输入密码后即可切换到该用户
删除用户:  userdel  -r  用户名  加上-r可以删除/home/路径下的用户文件夹,否则不会自动删除该文件夹
查看用户名: cat  /etc/passwd
id  用户名  查看用户id(如果不指定默认查看自身)

chmod修改权限

通过ls  -l  查看文件权限
chmod  u=rwx,g=rx,o=x  hell.txt 将文件权限修改为: rwxr-x--x
其中u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
chmod u=rwx,g=rx,o=x  test将文件夹test以及文件夹内全部内容权限设置为:rwx-rx--x
除此之外,还有快捷写法: chmod  751  hello.txt
r 4  w 2  x 1
r代表读权限(如:ls)  w表示写权限(如:创建、删除、改名) x表示执行权限(如cd)
举例   drwxr-xr-x
d:文件夹   rwx:文件所属用户权限  r-x:所属用户组权限  r-x:其他用户权限

chown修改用户组

普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行
chown root hello.txt     将hello.txt所属用户修改root
chown :root  hello.txt   将hello.txt所属用户组修改为root
chown root:itheima hello.txt  将hello.txt所属用户修改为root,所属用户组修改为itheima
chown  -R  root  test  将文件夹test的所属用户修改为root并对文件夹内全部内容进行修改,也就是递归修改文件所属用户

history历史命令

history 查看历史输入过的命令   默认保留1000条
history -c  #只能清除本次开机敲过的命令
history -w  #将历史命令写入到硬盘中,彻底清除命令
!  编号     #重新执行
! cat  #重新执行历史命令中以cat开头的最近的一条命令

yum 下载程序

yum  -y  install  文件名   -y无需手动安装

remove删除程序

yum  remove  jdk  删除程序jdk

search搜索程序

yum  search   jdk   搜索文件jdk

ln -s 软链接

ln  -s  参数1  参数2  -s  创建软链接  参数1被链接的文件或文件夹  参数2要链接取得目的地
ln  -s   /etc/nginx.conf  ~/nginx.conf
mkdir   /etc/nginx.conf/111.txt
ls   ~/nginx.conf   
111.txt

删除 ~/nginx.conf  即软链接被删除

ln  -s  ~/nginx.conf   查看软连接详情
缺点,源文件消失,软连接失效

ln 硬链接

ln   /路径/文件名   /路径/链接名
优点:源文件消失,快捷方式依旧有效
缺点:只能链接文件,不能链接目录

date查看时间

%Y 年  %m 月  %d 日  %H 时  %M 分  %S 秒
date   查看时间
date   +%Y-%m-%d   #查看当前系统年月日
date  -s  "2025-10-10  20:20:20"  #修改时间
" +%Y-%m-%d %H-%M-%S "   #年-月-日 时-分-秒
+%F %T  #年-月-日 时-分-秒

查看ip

ip a 
ifconfig  ens33
127.0.0.1这个ip地址用于指代本机,也即回环地址
0.0.0.0 所有ip

ip映射
vim  /etc/hots
192.168.88.240  ubuntu

wget非交互式文件下载

wget  url(路径)

netstat查看指定端口的占用情况

安装netstat
dnf -y  install  net-tools
netstat -anp |  grep 8080

ps查看进程

查看当前系统中的进程  ps  -elf
查看进程状态  ps  aux
ps  -elf |  grep  tail

kill关闭进程

kill -9  进程ID

查看资源

iostat  查看cpu、磁盘的相关信息
iostat  num1  num2  刷新间隔  刷新几次
df  -h  查看硬盘使用情况
top  查看cpu内存使用情况
free  -h   查看内存及内存使用情况,以及交换分区
uptime  查看服务器启动及15分钟内cpu平均负载
查看服务器版本  lsb_release -a
列出cpu信息  lscpu
内存详细信息  cat  /proc/meminfo

配置环境变量

临时设置
export  变量名=变量值
永久生效
针对当前用户  vim  ~/.bashrc
针对所有用户  vim  /etc/profile

env查看当前系统中记录的环境变量

env

lrzsz上传下载

下安装工具包
apt  -y   install  lrzsz
rz  上传
sz +  文件名    下载

tar加解压

tar常见的压缩格式:
gzip  -----------.gz
bzip  -----------.bz2
xz    -----------.xz
unzip -----------.zip
-z 指定压缩解压格式  -c 压缩  -x释放  -f指定tar包名字  -t查看tar包内容  -C指定路径
加压   tar  -zcf  /路径/压缩名称.tar.gz  -C /路径/要压缩的文件
解压使用tar -xf  /路径/压缩包   -C  /指定路径/要放在的位置   不选z的原因是根据压缩包,自动选择解压工具
都不选v的原因是都不查看压缩进度
加压时会带着路径一块压缩,加个-C可以避免路径被压缩进去
压缩并不会删除被压缩的文件

zip加解压

zip  -r  /opt/111.zip   /opt/shell   #压缩指定文件
unzip  -l  /opt/111.zip   #查看压缩包里的内容
unzip  /opt/111.zip  -d  /dev/null   #解压到指定目录

hostname查看主机名

查看主机名  hostaname
修改主机名
临时修改主机名 hostname  主机名
永久修改主机名 hostnamectl set-hostname 新的主机名
echo 新的主机名 >  /etc/hostname

alias起别名

别名的定义:简化复杂的命令
alias  ll='ls -l'
alias  ls='ls --color=auto'
以上都为定义临时别名
将以上别名写到~/.bashrc则永久生效
source  ~/.bashrc
在哪个用户下定义的别名就只能在哪个用户下使用这个别名
vim /etc/profile  (centos在/etc/bashrc下写)
source  /etc/profile
定义全局的别名,哪个用户都可以使用
alias查看所有别名
unalias  ll  删除别名

bc计算器

echo  80*2 | bc

定时任务cron

systemctl status  cron    查看定时器状态
/var/spool/corn/crontabs   此目录为配置文件目录  该目录下有用户定时器
cat  /etc/crontab  查看结构
crontab  -e  编辑当前用户定时器
crontab  -l  查看当前用户配置定时任务
在cui用户下编辑定时器
crontab  -e  === vim  /var/prool/cron/contabs
crontab -i 删除定时任务  crontab  -r  删除定时任务,清除文件/var/prool/cron/crontabs/cui
crontab  -u  cui  -l
------------------------------------------------------------------------------------------------------------
*代表每的意思     - 时间范围分隔符    ,表示分割时段      /n 每隔n的时间单位

*     *     *     *     *
分    时    日    月    周
0     *      *     *     *    #每小时执行,每小时的整点执行
01    2      *     *     4    #每周执行,每周四的凌晨2点1分执行
01    2      3     *     *    #每月执行,每月的3号的凌晨2点1分执行
01    2      3     4     *    #每年执行,每年的4月份3号的凌晨2点1分执行
01    2      *     *     3,5 #每周3和周5的两点一分执行
*     13-14  *    *     6,0  #每周六、周日的下午1点和2点的每一分钟都执行
0     9-18   *     *     1-5   #周一到周五的每天早上9点一直到下午6点的每一个整点
*/10  *      *     *     *   # 每隔十分钟执行一次任务
0     7-11/2     *     *     *   #每天早上7点到上午11点每两个小时运行cmd命令
31    10/2   *     *     *    #在每天的10:31开始,每隔两小时重复一次
如果没法整除,定时任务则没意义,可以自定制脚本控制频率
定时任务最小单位是分钟,想完成秒级任务,只能通过其他方式