Linux
linux文件基本属性
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
……
- 当为[ d ]则是目录
- 当为[ – ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
linux文件基本权限是数值来标识的
r:4、w:2、x:1
Linux文件属主和属组

root、root分别是文件所有者、所有者所属主。
linux系统按权限分为文件所有者、文件所有者同组用户和其他用户
更改文件所属组
chgrp [-R] 属组名 文件名
change group-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改
更改文件所属主
chown:更改文件属主,也可以同时更改文件属组chown [–R] 属主名 文件名chown [-R] 属主名:属组名 文件名
更改文件权限
chmod:更改文件9个属性chmod [-R] xyz 文件或目录
r:4、w:2、x:1
x为所属主的三权限和相加
y为所属组的三权限和相加
zx为其他用户的三权限和相加
符号类型改变文件权限
chmod u=rwx,g=rx,o=r 文件名
或者使用chmod a=rwx 文件名
a表示所属主、所属组、其他用户
+(加入) 、-(除去) 、=(设定)
Linux 文件与目录管理
相对路径,由/写起
绝对路径 ,不由/写起处理目录的常用命令
- ls: 列出目录
- cd:切换目录
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录
- cp: 复制文件或目录
- rm: 移除文件或目录
- mv: 移动文件与目录、文件重命名
ls -d ,只列出目录本身,不列出文件以及其他文件夹
mkdir (创建新目录)
- -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
- -p :帮助你直接将所需要的目录(包含上一级目录)递回创建起来!
rmdir (删除空的目录)
- -p :连同上一级『空的』目录也一起删除
查找指令
`find [搜索范围] [选项]
查找整个linux系统下大于200M的文件,
+n 大于 ,-n 小于 ,n 等于 ,单位有k、M、G
find / -size +200M
查找根目录下所有大于200M的文件
locate指令可以快速定位文件路径,locate指令利用实现建立的
locate 搜索文件
which指令可以快速定位命令的位置
grep指令和管道符
grep过滤查找,管道符,|表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法
grep [选项] 查找内容 源文件
- -n 显示匹配行及行号
- -i 忽略字母大小写
压缩和解压
gzip/gunzip
gzip用于压缩文件,gunzip用于解压
zip/unzip指令
zip [选项] xxx.zip
unzip [选项] xxx.zip
zip常用选项
- -r 递归压缩,即压缩目录
unzip常用选项 - -d<目录> 指定解压后的文件的存放目录
tar指令 既可以解压也可以压缩
基本语法
tar [选项] xxx.tar.gz 打包的内容
linux用户和用户组管理
linux用户管理
1、添加新用户
useradd 选项 用户名
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 在 Linux 中,Shell 有很多种“方言”和版本。常见的包括:
/bin/bash:目前最流行、功能最全的 Shell(大多数 Linux 发行版的默认选择)。
/bin/sh:较老、较基础的 Shell,通常遵循 POSIX 标准,速度快但功能相对少。
/bin/zsh:界面华丽、插件丰富的 Shell(很多程序员和 Mac 用户喜欢)。
/sbin/nologin:这是一个特殊的 Shell,如果你把用户的 Shell 设置为它,该用户就无法登录系统(常用于只需要运行服务、不需要人工操作的账号)。
echo $SHELL可以查看当前的shell
需要注意大小写
2、删除帐号
userdel 选项 用户名
- -r,它的作用是把用户的主目录一起删除。
3、修改帐号
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
4、用户口令的管理
超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。
passwd 选项 用户名
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令
Linux系统用户组的管理
1、增加一个新的用户组使用groupadd命令。
groupadd 选项 用户组
- -g GID 指定新用户组的组标识号(GID)。
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
2、如果要删除一个已有的用户组,使用groupdel命令
groupdel 用户组
3、修改用户组的属性使用groupmod命令。
groupmod 选项 用户组
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。
大量用户创建
- 先编辑一个文本用户文件。
- 以root身份执行命令
/usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户: - 执行命令/usr/sbin/pwunconv
- 编辑每个用户的密码对照文件
- 以root身份执行命令
/usr/sbin/chpasswd - 确定密码经编码写入/etc/passwd的密码栏后。
任务调度
crontab 进行定时任务的设置
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab -e
*/1 * * * * ls -l /etc/ > /tmp/to.txt
corntab -r 终止任务调度
cornta -l 列出当前有哪些任务调度
at定时任务
at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
linux磁盘管理
linux采用挂载的概念,每个linux系统的文件系统都是相同多的
linux硬盘分为IDE硬盘和SCSI硬盘,目前大部分是SCSI硬盘
IDE硬盘,驱动器标识符为hdx~
SCSI硬盘,驱动器标识符为sdx~,
X为盘号,a为基本盘、b为基本从属盘,c为辅助主盘,d为辅助从属盘
~代表分区,前四个分区用数字1到4表示,他们是主分区或扩展分区,从5开始就是逻辑分区
wc
`wc(选项)(参数)
wc [选项]… [文件]…
wc [选项]… –files0-from=F
-c # 统计字节数,或–bytes:显示Bytes数。
-l # 统计行数,或–lines:显示列数。
-m # 统计字符数,或–chars:显示字符数。
-w # 统计字数,或–words:显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L # 打印最长行的长度,或–max-line-length。
-help # 显示帮助信息。
–version # 显示版本信息。
df
df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。df [-ahikHTm] [目录或文件名]
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
du
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。du [-ahskm] 文件或目录名称
- -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
- -h :以人们较易读的容量格式 (G/M) 显示;
- -s :列出总量而已,而不列出每个各别的目录占用容量;
- -S :不包括子目录下的总计,与 -s 有点差别。
- -k :以 KBytes 列出容量显示;
- -m :以 MBytes 列出容量显示;
linux进程
每个执行的程序都有一个pid用来表示唯一的进程
每个进程都有两种方式来运行,前台和后台。

父子进程
PPID 父进程
终止进程
kill [选项] 进程号 通过进程号杀死进程 killall 进程名称杀死进程以及所有子进程 常用选项-9`强制杀死进程
进程树pstree
ps [选项]
常用选项
-p 显示进程号
-u 显示用户名
linux服务管理
服务本质就是进程,又称为守护进程
服务往往监听一个端口
centos7.0之后,很多服务不再使用service,而是systemctl进行管理
在/etc/init.d/目录下的服务仍然使用service进行管理
运行级别

chkconfig指令(新系统已经淘汰)
可以给服务的各个运行级别设置自启动/关闭
systemctl

linux动态监控系统
top
基本语法
`top [选项]
-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数;
-H:所有线程占用资源情况。
h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。
监控网络状态
netstat
-a或–all:显示所有连线中的Socket;
-A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;
-c或–continuous:持续列出网络状态;
-C或–cache:显示路由器配置的快取信息;
-e或–extend:显示网络其他相关信息;
-F或–fib:显示FIB;
-g或–groups:显示多重广播功能群组组员名单;
-h或–help:在线帮助;
-i或–interfaces:显示网络界面信息表单;
-l或–listening:显示监控中的服务器的Socket;
-M或–masquerade:显示伪装的网络连线;
-n或–numeric:直接使用ip地址,而不通过域名服务器;
-N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;
-o或–timers:显示计时器;
-p或–programs:显示正在使用Socket的程序识别码和程序名称;
-r或–route:显示Routing Table;
-s或–statistice:显示网络工作信息统计表;
-t或–tcp:显示TCP传输协议的连线状况;
-u或–udp:显示UDP传输协议的连线状况;
-v或–verbose:显示指令执行过程;
-V或–version:显示版本信息;
-w或–raw:显示RAW传输协议的连线状况;
-x或–unix:此参数的效果和指定”-A unix”参数相同;
–ip或–inet:此参数的效果和指定”-A inet”参数相同。
软件包管理
rpm(centos、redhat等系统使用) Redhat package manager
- CentOS (Red Hat 系列):使用
.rpm文件,通过yum或dnf管理。 - Ubuntu (Debian 系列):使用
.deb文件,通过apt或dpkg管理。
yum和 apt
| 功能 | CentOS (RPM/YUM) | Ubuntu (DEB/APT) |
|---|---|---|
| 安装软件 | yum install xxx | apt install xxx |
| 卸载软件 | yum remove xxx | apt remove xxx |
| 更新列表 | yum makecache | apt update |
| 搜索软件 | yum search xxx | apt search xxx |
| 安装本地包 | rpm -ivh xxx.rpm | dpkg -i xxx.deb |
| 列出已安装 | rpm -qa | dpkg -l |
- CentOS 体系:
yum(管家) ➔ 调用rpm(工人) - Ubuntu 体系:
apt(管家) ➔ 调用dpkg(工人)