linux高级命令
一、运行模式
1、init 0关机 在配置文件中不要设置成0
2、init 1 单用户模式
3、init 2
4、init 3 非图形化模式
5、init 4 保留的模式,不存在
6 、init 5 图形化模式
7、init 6 重启 在配置文件中不要设置
二、用户和用户组
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
1、用户管理
1、添加用户
常用语法:useradd 选项 用户名
常用选项:
-g:表示指定用户的用户组,选项值可以是用户组的id,也可以是用户组
-G:表示指定用户的用户附加组,选项值可以是用户组的id,也可以是用户附加组
-u:uid,用户的id(用户的标识符),系统默认会从500之后按照顺序分配uid,如果不想使用系统分配的,可以使用自定义的
2、修改用户
常用语法:usermod 选项 用户名
常用选项:
-g:表示指定用户的用户组,选项值可以是用户组的id,也可以是用户组
-G:表示指定用户的用户附加组,选项值可以是用户组的id,也可以是用户附加组
-u:uid,用户的id(用户的标识符),系统默认会从500之后按照顺序分配uid,如果不想使用系统分配的,可以使用自定义的
-l:表示修改用户名
案例:修改用户组和付家组
usermod -g 用户id -G 用户组id 用户名
3、设置和修改密码
第一步:passwd 用户名
第二步:输入密码
第三 步:重新输入密码
切换用户命令:su 用户名 (如果不写用户名,表示切换到超级管理员用户)
4、删除用户
常用语法:userdel 选项 用户名
选项:-r 表示删除用户的同时删除其家目录
5、切换用户
语法:su 用户(如果不指定用户,默认是管理员用户)
注意事项:
从root用户切换到普通用户不用密码,但反之需要密码
切换用户之后的工作路径是不变的
普通用户无法访问root用户的家目录,但反之可以
三、网络设置
网卡的配置文件
网络配置,主要是修改
ONBOOT:是否开机启动
BOOTPROTO:ip地址分配方式,dhcp表示动态主机分配协议
HWADDP:硬件地址,MAC地址
如何重启网卡服务操作?
systemctl network restart
/etc/init.d/network restart (通用性更强)
扩展:快捷方式的创建(软连接)
ln -s 原始路径 快捷方式存放路径
扩展2:如何重启单个网卡(不要随意禁用网卡)
停止某个网卡:ifdown 网卡名
开启某个网卡:ifup 网卡名
四、chkconfig
作用:相当于windows下的电脑管家,提供一个开机启动服务。
在Linux下,不是所有的软件安装完成之后都有开机启动服务,有的需要自己去添加,除此之外还可以查看和删除
1、开机启动服务查询 chkconfig --list,
在centos7后,改成systemctl list-unit-files 和systemctl list-dependencies
重点:centos7以上,开机启动设置
设置开机自启动
[root@localhost ~]# systemctl enable nginx.service
[root@localhost ~]# systemctl enable supervisord
停止开机自启动
[root@localhost ~]# systemctl disable nginx.service
[root@localhost ~]# systemctl disable supervisord
验证一下是否为开机启动
[root@localhost ~]# systemctl is-enabled nginx
[root@localhost ~]# systemctl is-enabled supervisord
五、ntp
作用:ntp 主要用于计算机的时间同步管理操作
同步时间方式有2个:一次性同步(手动同步),通过时间服务器自动同步时间
a、一次性同步时间
ntpdate 时间ip地址
b、设置实时同步时间
服务名:ntpd
语法:systemctl start ntpd
六、rpm(重点)
作用:类似于windows中的电脑管家中的“软件管理”等产品,主要作用是对linux服务器上的软件包进行管理操作,管理分为:查询、卸载、安装
1、查询
语法:rpm -qa|grep 关键词
选项:
-q:查询
-a:全部
2、卸载某个软件
rpm -e 软件名称
如果软件在卸载时没有依赖关系时,是可以直接卸载的
如果存在依赖关系,在卸载时会被其他软件依赖
当软件存在依赖关系的时候,但是又不想一层一层的卸载下去,可以使用以下命令,忽略依赖关系,直接卸载
rpm -e 软件名称 --nodeps
3、安装
rpm -ivh 软件包完整名称
-i:install,安装的意思
-v:显示进度条
-h:表示以“#”号形式显示进度条
重点:光盘的挂载和解挂
a、lsblk 查看块状设备信息
name:名称
size:设备大小
type:类型
MountPoint:挂载点(相当于windows分配盘符)
a、解挂操作
命令:umount
语法:umount 当前设备的挂载点(就是挂载的路径)
此时相当于U盘在windows上已经被弹出了,但是没有被拔出
b、挂载光盘
命令:mount
语法:mount 设备原始地址 要挂载的位置
------设备的原始地址:一般在dev目录下,这个目录主要是存放一些挂载的外接设备的
------要挂载的位置:建议放在mnt下,然后自己建一个目录存放
七、cron/crontab 计划任务(重点)
作用:操作系统不可能24小时都有人在操作,有些时候想要在指定的时间点去执行任务,此时不可能有人在那个时候去执行命令,此时可以将任务交给计划程序去执行操作。(相当于java中的定时任务)
语法:crontab 选项
常用选项:
-l:list,列出指定用户的计划任务列表
-e:edit,编辑指定用户的计划列表
-u:user,指定用户名,如果不指定,则表示当前用户
-r:remove,删除指定用户的计划任务列表
1、列出 crontab -l
2、编辑计划任务 crontab -e(重点)
计划任务的规则语法格式,以行为单位,一行则为一个计划:
分 时 日 月 周 需要执行的命令
分 时 日 月 周 需要执行的命令
。。。。。。。。。。。
例如:如果想要每天的0点0分执行reboot指令,则可以写成:
0 0 * * * reboot (reboot,代表的是执行的命令,在外面怎么写,在计划任务里就怎么写)
取值范围:
分:0~59
时:0~23
日:1~31
月:1~12
周:0~7,0和7表示星期天
四个符号:
*:表示是取值范围中的每个数字
-:做区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,列如:想每10分钟一次,则可以在分的位置写成 * */10 * * *
,:表示多个取值,比如想在1点、2点、6点执行,则可以在时的位置写:1,2,6
3、Crontab权限问题:本身是所有用户都是可以创建自己的计划任务
但是超级管理员可以通过配置来设置某些用户不允许设置计划任务(黑名单)
配置文件位于:/etc/cron.deny
语法:只需要将用户名写入进去,一行一个就可以了
还有一个配置文件:(白名单)
这个文件是不存在的,需要我们人为创建:/etc/cron.allow
白名单的级别高于黑名单,所以当一个用户在白名单又在黑名单中,则可以加入计划任务
八、网络连接
1、ping ip/域名
2、netstat -tnlp (-t:tcp协议,-n:将字母转换成数字,-l:列出状态为监听,-p:显示进程相关信息)
netstat -an (-a:表示全部,-n:将字母转化为数字)
3、traceroute
作用:查找当前主机和目标主机之间的所有网管(路由器、会给沿途各个路由器发送lcmp数据包,路由器可能会给响应,也可能不给响应,该命令不是内置命令,需要安装)
语法:tracerout ip/域名
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?