Linux文件目录
ls常用选项
文本查看常用命令
tar命令
账号管理命令
- useradd [username]
添加账户 - id [username]
查询账户 - passwd [username]
设置密码 - userdel [username]
删除账户 - usermod -d [directory] [username]
修改家目录 - groupadd [groupname]
groupdel [groupname]
增加、删除组 - usermod -g [groupname] [username]
useradd -g [groupname] [username]
指定用户所属组 - su - [username]
临时切换账户 - visudo
编辑sudo配置,例:[username] [client]=[command]... NOPASSWD:[command]...
用户、用户组配置文件
- /etc/passwd
用户配置文件,每行有7个字段:
1.用户名
2.是否需要密码验证
3.用户ID
4.分组ID
5.注释
6.用户家目录
7.用户使用的shell - /etc/shadow
保存用户密码相关信息,没行有8个字段:
1.用户名
2.加密后的登录密码 - /etc/group
用户组配置文件,有4个字段:
1.组名
2.是否需要密码验证
3.组ID
4.附加组员(填用户名)
文件权限
一个文件的默认权限是666减去当前用户的umask值。当属主与属组的权限冲突时,已属主为准。
普通文件权限:
目录文件权限:
修改文件权限
- chown [username] [filename]
chown :[groupname] [filename]
chown [username]:[groupname] [filename] - chmod [u/g/o/a][+/-/=][rwx] [filename]
文件特殊权限
网络管理
-
ifconfig
eth0表示第一块网卡。注意在CentOS7使用了另一套网卡命名方法:如果是板载网卡,则是eno1;如果是PCI-E网卡,则是ens33;如果是无法获取物理信息的PCI-E网卡,则是enp0s3;都不是的话,则为eth0。
修改网卡名称:
- mii-tool [NA]
查看网卡物理连接情况 - route -n
查看路由表 - ifconfig [NA] [IP] netmask [mask]
修改网卡ip可对应子网掩码 - ifconfig [NA] up
ifup [NA]
启动网卡,用于还原默认网卡配置。 - route del default gw [IP]
删除默认网关 - route add default gw [IP]
添加默认网关 - route add -host [IP] gw [IP]
route add -net [IP] gw [IP]
添加特定路由
关于网卡更多命令
iproute2对应操作:
以上这些修改命令都是临时的。
网络故障排查命令
- ping [IP/host]
- traceroute -w [duration] [IP/host]
mtr [IP/host]
跳转路径 - nslookup [host]
ip解析 - telnet [IP/host] [port]
查看远程端口连接状态 - tcpdump -i any -n host [IP] and port [port] -w [filename]
抓包工具 - netstat -ntpl
ss -ntpl
查询端口监听状态
网络配置文件
- service network status
查询网卡配置状态 - service network restart
重启网络 - chkconfig --list network
查看network的激活状态 - chkconfig --level [0/1/2/3/4/5/6] network off
关闭某些级别下的network - systemctl disable NetworkManager
systemctl enable NetworkManager
关闭/开启NetworkManager
网卡配置文件路径:
/etc/sysconfig/network-scripts/ifcfg-*
ONBOOT="yes"表示在开机时该网卡是否被启用。
配置完成后,可以使用service network restart使之生效,或者systemctl restart NetworkManager.service
- hostname
查看主机名 - hostname [newname]
修改主机名(临时)
hostnamectl set-hostname [newname]
修改主机名(永久)
修改主机名后,需要在/etc/hosts进行对应修改。
软件安装
- mount /dev/sr0 /mnt
挂载光盘 - dd if=/dev/sr0 of=/xxx/xx.iso
将光盘做成镜像文件 - rpm -qa
查询已安装的rpm包 - rpm -q [packagename]
查询是否安装了特定包 - rpm -e [packagename]
卸载包 - rpm -i [packagename]
安装一个包
yum配置文件:
/etc/yum.repos.d/CentOS-Base.repo
修改yum源步骤:
- mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
备份现有yum配置文件 - wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
- yum makecache
更新缓存,指向新的源。
- yum install epel-release -y
安装第三方源 - yum install [packagename]
安装 - yum remove [packagename]
删除 - yum list
查询已安装的软件包 - yum update [packagename]
升级软件包
编译安装:
- uname -r
查看内核版本 - lscpu
查看cpu配置
内核编译安装流程:
grub
当计算机加电自检后,BIOS加载MBR(主引导扇区,即硬盘第一扇区)中的代码到内存中,这个扇区一共512字节,前446字节内容存放grub(bootloader)的关键引导程序,接着64字节放置硬盘分区表DPT(Disk Partition Table),一共有四个主分区,占64个字节,这也是为什么主分区最多只有四个的原因,最后2个字节是固定的标志0x55AA。当BIOS把引导程序加载到内存后就把控制权交给grub,而后grub将完成其它代码的加载和搬移以及文件系统初始化查找等工作,最终加载内核映像文件,从而把控制权交给真正的内核运行。
grub配置文件
grub的配置文件是/boot/grub2/grub.cfg,但不要直接去编辑这个文件,而是通过修改/etc/default/grub文件和/etc/grub.d/文件夹下的文件(前者提供基本配置,后者提供更详细配置),然后执行grub2-mkconfig -o /boot/grub2/grub.cfg来生成grub的配置文件。
找回root密码:
- reboot
-
进入内核选择页面,选择对应内核,点击“e“。
-
添加设置项rd.break(centos6的话换成single),然后按ctrl+x
- 到这里就进入了虚拟文件系统。
- mount -o remount,rw /sysroot
重新挂在/sysroot - chroot /sysroot
将/sysroot作为根目录 - echo 123456 | passwd --stdin root
修改root密码为123456 -
关闭SELinux
该文件在/etc/selinux/config
- exit
回到虚拟文件系统 - reboot
修改启动默认内核
- grub2-editenv list
查看当前默认引导内核 -
grep ^menu /boot/grub2/grub.cfg
查看grub配置文件中已有的内核情况
- grub2-set-default [0/1/2/3/4]
修改默认启动内核,数字分别对应的是上图的5个不同内核。
进程管理
-
ps -e
查看系统所有进程
- ps -eLf
查看线程 - pstree
查看进程树 - top
显示系统中各个进程的资源占用状况
top命令详解 - nice -n [level] [command]
以某个优先级运行一个进程 - renice -n [level] [PID]
修改运行中进程的优先级 - [command] &
后台运行进程 - jobs
查看当前终端运行的所有jobs - fg [job_spec]
将某个job放到前台运行 - bg [job_spec...]
后台运行一个或多个job -
disown
job相关概念:
将jobs从当前shell移出
- kill -l
查看系统所有信号 - nohup [command] &
后台运行进程,并忽略挂起信号。 - screen
创建一个会话,并且即使终端关闭了,会话依然在后台运行。 - screen -r [sessionID]
回到会话 - screen -ls
产看当前会话
systemctl(服务(提供常见功能的守护进程)集中管理工具)
在centos6中有7种启动级别:
0表示:关机
1表示:单用户模式
2表示:无网络连接的多用户命令行模式
3表示:有网络连接的多用户命令行模式
4表示:不可用
5表示:带图形界面的多用户模式
6表示:重新启动
而在centos7中则分别对应为:
poweroff.target
rescue.target
multi-user.target
multi-user.target
multi-user.target
graphical.target
reboot.target
所谓启动级别,就是开启某些服务和关闭某些服务。
- systemctl list-unit-files
列出所有systemd服务 - systemctl list-dependencies [target]
查看某个启动级别下的服务
systemctl常见操作:
- systemctl start|stop|restart|reload|status|enable|disable [service config file]
服务配置文件在/usr/lib/systemd/system/下 - systemctl get-default
查看当前启动级别 - systemctl set-default [target]
设置下次启动的级别
关于systemctl更多
Linux系统日志:
SELinux
内存管理
- free -m
查看内存使用情况(按兆显示)
磁盘
- fdisk -l
parted -l
查看磁盘分区
文件系统管理
计划任务
- at
一次性任务 - atq
查看一次性计划任务 - crontab -e
配置周期性任务 - crontab -l
查看周期性任务
*/1 23 * * 1,5 [command]