Ctrl+(x u) 按住Ctrl的同时再先后按x和u,可以撤销刚才的操作
1. 检查网络的服务
==systemctl status NetworkManager.service==
2. 检查网络的连接
nmcli dev status
3. 配置CentOS地址的方式
1. DHCP动态获得
dhclient
ip addr
2. 手动配置
ip addr add 192.168.10.2/24 dev ens32
ens32手动查看 ipconfig
如果重启系统或者重启服务,网卡的IP地址和掩码都会丢失
重启系统:reboot
重启服务:service network restart 重启网络服务
远程管理:
- Telnet:明文 23
- SSH:SSHv1和SSHv2,密文 22
SecureCRT 8.3
1 | [root@localhost /]# cd .. |
修改:
- vi
- vim
[root@localhost /]# vim etc/sysconfig/network-scripts/ifcfg-ens32
按i键开启插入功能
修改和增加
修改:BOOTPROTO=static
修改:ONBOOT=yes
增加:IPADDR=192.168.75(本机网络地址).128
增加:NETMASK=255.255.255.0
增加:GATEWAY=192.168.75.2
增加:DNS1=192.168.75.1
按ESC退出,再按Shift+:,输入wq(强制保存)也可以wq!
1 | [root@localhost /]# cat etc/sysconfig/network-scripts/ifcfg-ens32 |
重启网络服务:
1 | [root@localhost /]# service network restart |
CentOS图形化安装或图形化界面:最小内存628M
4. Linux常用命令:
文件处理命令
权限管理命令
w:写
r:读
x:执行文件搜索命令
帮助命令
用户管理命令
压缩解压命令
window:zip
Cisco IOS:tar
winRaR,7-ZIP,WIN-ZIP
网络命令
关机重启命令
Linux 命令格式
格式:命令[-选项][参数]
举例:ls -a/etc a就是all
ls -l/etc l就是long
ls -al/etc
-:代表是简写的命令
–:代表是完整的命令 ls –all
注意:
- 除个别命令外,几乎所有命令都遵循这种格式
- 当有多个选项时,可以写在一起,也可以分开写
- 简化选项和完整选项,简化是-a,完整是–all
1. 目录处理命令 - ls
命令名称: ls
英文原意:list
所在路径:/bin/ls
执行权限:所有用户
功能描述:显示当前目录文件
[root@localhost /]# ls /bin
蓝色:表示目录
青色(或者浅蓝色):表示链接
/bin—–>usr/bin
黑色(或者是灰色):表示文件
红色:表示压缩文件
黄色:表示设备文件
/
命令语法:ls [-aAdfFhilnrRSt][目录或者文件]
常用选项:-a -l -h
w:写入
r:可读
x:执行
所有者
所属组
其他人
1 | [root@localhost /]# ls |
[root@localhost /]# ls /sbin
1 | [root@localhost /]# ls -a /root |
1 | [root@localhost /]# ls -l /root |
1 | [root@localhost /]# ls -lh /root |
1 | [root@localhost /]# ls -alh /root |
1 | [root@localhost /]# ls --all |
1 | [root@localhost /]# ls |
/
根目录,区别于/root目录,也就是/和~的区别
只有root用户具有根目录的写入权限
根目录,管理员权限才可以创建,建议不要在根目录下创建太多文件/bin
用户二进制文件,包含二进制可执行文件,这个目录下的执行文件基本所有用户都有权限执行
路径:usr/bin/sbin
系统二进制文件,系统管理员可以使用和维护:ifconfig\fdisk\/etc
配置文件,也包含了程序的启动和关闭的Shell脚本/dev:设备文件
/proc:进程信息
/var:变量文件
/var/log:系统日志文件
/var/lib:包和数据库文件
/var/mail:电子邮件
/var/spool:打印队列
/var/lock:锁文件
/var/tmp:重启使用的临时文件/tmp:临时文件,系统和用户临时创建的文件
/usr:二进制文件,库文件,文档,源代码
/home:用户存储个人档案的地方
/boot:引导加载程序文件
initrd
vmlinux
grub1
2
3
4
5
6
7
8
9
10[root@localhost /]# cd /bin
[root@localhost bin]# yum install tree
[root@localhost bin]# tree
[root@localhost ~]#cd /boot
[root@localhost boot]# ls -1
[root@localhost boot]# ls -1/boot
[root@localhost boot]# ll
[root@localhost boot]# alias
[root@localhost /]# ls --version
[root@localhost /]# ls --help/lib:系统库
/opt:可选的附加应用程序,第三方的应用可以
/mnt:挂在目录
/media:移动设备的临时目录
/srv:服务数据
1
2[root@localhost ~]# service network restart
Restarting network (via systemctl): [ ok ][root@localhost ~]# systemctl restart network.service
2. 目录处理命令 - mkdir
- ls
- cd
- mkdir
命令名称:mkdir
命令原意:make directories
所在路径:/bin/mkdir
执行权限:所有用户
功能描述:创建新目录
命令语法:mkdir [-p] [目录名]
-p:递归创建,新建一个目录的同时,并且在这个文件夹内再创建一个子目录
[root@localhost ~]# cd /tmp
[root@localhost tmp]# mkdir ABC
[root@localhost tmp]# mkdir DEF GHI
[root@localhost tmp]# ll
mkdir -p/tmp/ABC/DEF
ABC:新目录
DEF:新目录
递归创建:在新目录下再创建新目录
rmdir:删除空目录
rm:删除目录或者文件
1 | [root@localhost tmp]# mkdir {AAA,BBB,CCC} |
1.可以看到创建过程
1 | [root@localhost tmp]# mkdir -vp TEST2/HHHHH |
目录处理命令 - cd
cd: charge directory
所有路径:shell内置命令
Shell脚本
C语言,用户和Linux一个桥梁
- 命令语言
- 程序语言
Windows Explorer:Windows资源管理器,图形化的Shell
JAVA、PHP
文本编辑器或者执行脚本解释器:
- Bourne Shell /usr/bin/sh或者/bin/sh
- Bourne Again Shell /bin/bash Linux默认的Shell,广泛使用,易用,免费
- C Shell /usr/bin/csh
- K Shell /usr/bin/ksh
- Shell for ROOT /sbin/sh
。。。。。。
扩展名:
- shell:.sh
- PHP:.php
[root@localhost ~]# vim /tmp/test.sh
按i,进入插入模式,输入以下内容:
#!/bin/bash
echo “Hello World !”
按ESC从编辑模式退到命令模式
按Shift+:,输入wq或者wq!
2. 运行脚本的方式
- 作为执行程序运行[root@localhost ~]# cd /tmp
1
2
3
4
5
6
7[root@localhost ~]# ls -l /tmp
总用量 8
-rwx------. 1 root root 836 3月 28 09:21 ks-script-oSo132
drwx------. 3 root root 17 3月 28 09:22 systemd-private-ba6aa69f557f4ee7ad7fd66ecd066de3-vgauthd.service-y0jIpM
drwx------. 3 root root 17 3月 28 09:22 systemd-private-ba6aa69f557f4ee7ad7fd66ecd066de3-vmtoolsd.service-iIGRHr
-rw-r--r--. 1 root root 33 3月 28 10:03 test.sh
-rw-------. 1 root root 0 3月 28 09:06 yum.log
[root@localhost tmp]# chmod +x ./test.sh
1 | [root@localhost tmp]# ll |
[root@localhost tmp]# ./test.sh
Hello World !
[root@localhost tmp]#
- 作为解释器参数
[root@localhost tmp]# /bin/sh test.sh
Hello World !
[root@localhost tmp]#
Linux关机
流程:sync()
3. 目录处理命令 - cp
命令名称:cp
命令原意:copy
命令路径:/usr/bin/cp
执行权限:所有用户
功能描述:复制文件或目录
命令语法:cp -rp [源文件或目录] [目标目录]
-r 复制目录,已经目录下的所有文件
-p 复制时保留原有文件的属性(时间戳、所属组、所有者、文件权限)
1. 拷贝单个文件
[root@localhost ~]# cp /etc/asound.conf /tmp
1 | [root@localhost ~]# ll /tmp |
如果在拷贝文件的目录下的时候,是不需要加路径的:
1 | [root@localhost ~]# cd /etc |
同样也可以跟路径:
[root@localhost etc]# cp /etc/fprintd.conf /tmp
2. 拷贝多个文件
[root@localhost etc]# cp fuse.conf GeoIP.conf host.conf /tmp
1 | [root@localhost etc]# ll /tmp |
[root@localhost etc]# cp /etc/kdump.conf /etc/krb5.conf /etc/ld.so.conf /tmp
1 | [root@localhost etc]# ll /tmp |
3. 拷贝目录
[root@localhost etc]# cp /etc/sysconfig /tmp
cp: 略过目录”/etc/sysconfig”
[root@localhost etc]# cp -r /etc/sysconfig /tmp
[root@localhost etc]# ll /tmp
[root@localhost etc]# ll /etc/sysconfig/
[root@localhost etc]# ll /tmp/sysconfig/
不仅拷贝了子目录,而且包括了子目录下的所有内容
4. 参数 -p
[root@localhost etc]# cp man_db.conf /tmp
[root@localhost etc]# ls -l man_db.conf
-rw-r–r–. 1 root root 5171 6月 10 2014 man_db.conf
[root@localhost etc]# ls -l /tmp/man_db.conf
-rw-r–r–. 1 root root 5171 4月 8 14:39 /tmp/man_db.conf
[root@localhost etc]# cp -p mke2fs.conf /tmp
[root@localhost etc]# ll mke2fs.conf
-rw-r–r–. 1 root root 936 8月 3 2017 mke2fs.conf
[root@localhost etc]# ll /tmp/mke2fs.conf
-rw-r–r–. 1 root root 936 8月 3 2017 /tmp/mke2fs.conf
[root@localhost etc]# cp -rp abrt /tmp
[root@localhost etc]# ll abrt
总用量 12
-rw-r–r–. 1 root root 850 8月 10 2017 abrt-action-save-package-data.conf
-rw-r–r–. 1 root root 2118 8月 10 2017 abrt.conf
-rw-r–r–. 1 root root 31 8月 10 2017 gpg_keys.conf
drwxr-xr-x. 2 root root 95 4月 8 10:59 plugins
[root@localhost etc]# ll /tmp/abrt
总用量 12
-rw-r–r–. 1 root root 850 8月 10 2017 abrt-action-save-package-data.conf
-rw-r–r–. 1 root root 2118 8月 10 2017 abrt.conf
-rw-r–r–. 1 root root 31 8月 10 2017 gpg_keys.conf
drwxr-xr-x. 2 root root 95 4月 8 10:59 plugins
[root@localhost etc]#
5. 修改目标文件的名字
[root@localhost etc]# cp resolv.conf /tmp/abc.conf
[root@localhost etc]# ll /tmp
总用量 60
-rw-r–r–. 1 root root 54 4月 8 14:44 abc.conf
drwx——. 3 root root 17 4月 8 12:20 systemd-private-5da61680c1bc4007aee12dcf0b3c462a-vgauthd.service-gp0Y4e
drwx——. 3 root root 17 4月 8 12:20 systemd-private-5da61680c1bc4007aee12dcf0b3c462a-vmtoolsd.service-nKN26o
[root@localhost etc]#
6. 拷贝重复文件
[root@localhost etc]# cp asound.conf /tmp
cp:是否覆盖”/tmp/asound.conf”? y
[root@localhost etc]# \cp asound.conf /tmp
[root@localhost etc]# \cp -r sysconfig /tmp
[root@localhost etc]# cp -r sysconfig /tmp
输入y,如果要中断,按ctrl+c
清屏:
- 输入clear
- 按ctrl+L
- ALT+E+K
4. 目录处理命令 - mv
命令名称:mv
命令原意:move
命令路径:/usr/bin/mv
执行权限:所有用户
功能描述:剪切文件、改名
命令语法:mv [源文件或目录] [目标目录]
1. 改名
[root@localhost etc]# cd /tmp
[root@localhost tmp]# ll
[root@localhost tmp]# mv asound.conf def.conf
[root@localhost tmp]# ll
2. 移动文件
[root@localhost tmp]# mkdir AAA
[root@localhost tmp]# mv def.conf AAA
[root@localhost tmp]# ll
[root@localhost tmp]# ll AAA
总用量 4
-rw-r–r–. 1 root root 55 4月 8 14:57 def.conf
3. 移动多个文件
[root@localhost tmp]# touch test1.log test2.log test3.log
[root@localhost tmp]# mv test1.log test2.log test3.log AAA
[root@localhost tmp]# ll AAA
总用量 4
-rw-r–r–. 1 root root 55 4月 8 14:57 def.conf
-rw-r–r–. 1 root root 0 4月 8 15:14 test1.log
-rw-r–r–. 1 root root 0 4月 8 15:14 test2.log
-rw-r–r–. 1 root root 0 4月 8 15:14 test3.log
[root@localhost tmp]# mkdir BBB
[root@localhost tmp]# cd AAA
[root@localhost AAA]# mv -t /tmp/BBB test1.log test2.log test3.log
[root@localhost AAA]# ll
总用量 4
-rw-r–r–. 1 root root 55 4月 8 14:57 def.conf
[root@localhost AAA]# ll /tmp/BBB
总用量 0
-rw-r–r–. 1 root root 0 4月 8 15:14 test1.log
-rw-r–r–. 1 root root 0 4月 8 15:14 test2.log
-rw-r–r–. 1 root root 0 4月 8 15:14 test3.log
[root@localhost AAA]#
//使用-t参数的时候,目标目录在前,源文件在后。正常时源文件在前,目标目录在后
4. 文件覆盖
[root@localhost AAA]# ll /tmp/BBB
总用量 0
-rw-r–r–. 1 root root 0 4月 8 15:14 test1.log
-rw-r–r–. 1 root root 0 4月 8 15:14 test2.log
-rw-r–r–. 1 root root 0 4月 8 15:14 test3.log
[root@localhost AAA]# cd /tmp/BBB
[root@localhost BBB]# mv -i test1.log test2.log
mv:是否覆盖”test2.log”? y
[root@localhost BBB]# ll
总用量 0
-rw-r–r–. 1 root root 0 4月 8 15:14 test2.log
-rw-r–r–. 1 root root 0 4月 8 15:14 test3.log
[root@localhost BBB]#
[root@localhost BBB]# mv -f test2.log test3.log
[root@localhost BBB]# ll
总用量 0
-rw-r–r–. 1 root root 0 4月 8 15:14 test3.log
chrony.conf文件大小是1108,覆盖fprintd.conf后,fprintd.conf大小变成1108
-rw-r–r–. 1 root root 1108 4月 8 14:11 chrony.conf
-rw-r–r–. 1 root root 20 4月 8 14:13 fprintd.conf
[root@localhost tmp]# mv -f chrony.conf fprintd.conf
[root@localhost tmp]# ll
-rw-r–r–. 1 root root 1108 4月 8 14:11 fprintd.conf
5. 目录移动
[root@localhost tmp]# mv AAA BBB
[root@localhost tmp]# ll
[root@localhost tmp]# ll BBB
总用量 0
drwxr-xr-x. 2 root root 22 4月 8 15:16 AAA
-rw-r–r–. 1 root root 0 4月 8 15:14 test3.log
[root@localhost tmp]#
如果目录目录不存在,就变成改名了:
[root@localhost tmp]# mv BBB HHH
[root@localhost tmp]# ll
drwxr-xr-x. 3 root root 34 4月 8 15:25 HHH
6. 特殊使用
[root@localhost tmp]# cd HHH
[root@localhost HHH]# mv * ../
[root@localhost HHH]# ll
总用量 0
1 | [root@localhost HHH]# ll /tmp |
将目录中的文件拷贝到上一级目录
把后缀是.conf的文件拷贝到AAA目录:
[root@localhost tmp]# mv *.conf AAA
[root@localhost tmp]# ll
[root@localhost tmp]# ll AAA
7. 备份目录文件
[root@localhost tmp]# mv -b AAA/abc.conf test3.log
mv:是否覆盖”test3.log”? y
1 | [root@localhost tmp]# ll |
pwd: 用法:pwd [-LP]
[root@localhost bin]# pwd -L
/bin
[root@localhost bin]# pwd -P
/usr/bin
[root@localhost bin]# cd /lib64
[root@localhost lib64]# pwd -L
/lib64
[root@localhost lib64]# pwd -P
/usr/lib64
[root@localhost lib64]# pwd
/lib64
5. 目录处理命令 - rm
命令名称:rm
命令原意:remove
命令路径:/user/bin/rm
执行权限:所有用户
功能描述:删除文件
语法命令:rm -fr[文件或目录]
-r :删除目录
-f:强制删除
6. 文件处理命令 - touch
命令名称:touch
命令原意:touch
所在路径:/user/bin/touch
执行权限:所有用户
功能描述:创建空文件、修改文件的时间戳(atime mtime)
命令语法:touch [文件名]
1. 创建不存在的文件
[root@localhost tmp]# touch test001.log test002.log
//在tmp目录下创建文件
[root@localhost /]# touch /tmp/test003.log /tmp/test004.log
//在根目录下创建文件
[root@localhost /]# ll /tmp
总用量 4
-rw-r–r–. 1 root root 0 4月 13 14:29 test001.log
-rw-r–r–. 1 root root 0 4月 13 14:29 test002.log
-rw-r–r–. 1 root root 0 4月 13 14:30 test003.log
-rw-r–r–. 1 root root 0 4月 13 14:30 test004.log
vi或者vim代表的是创建一个空文件,并对其进行编辑:
[root@localhost tmp]# vi test5.log
wq或者wq!(保存退出)
[root@localhost tmp]# vim test6.log
wq或者wq!(保存退出)
//vi或者vim创建的文件不保存,文件是不会被创建的
1. 不创建文件
[root@localhost tmp]# touch -c test007.log
[root@localhost tmp]# ll
2. 将yum.log的时间更新给test001.log
-rw-r–r–. 1 root root 0 4月 13 14:29 test001.log
-rw——-. 1 root root 0 3月 14 11:11 yum.log
[root@localhost tmp]# touch -r yum.log test001.log
[root@localhost tmp]# ll
总用量 12
-rw-r–r–. 1 root root 0 3月 14 11:11 test001.log
-rw——-. 1 root root 0 3月 14 11:11 yum.log
3. 设定文件的时间戳
[root@localhost tmp]# touch -t 201210111530.10 test007.log
[root@localhost tmp]# ll
-rw-r–r–. 1 root root 0 10月 11 2012 test007.log
[root@localhost tmp]# ll –full-time
-rw-r–r–. 1 root root 0 2012-10-11 15:30:10.000000000 +0800 test007.log
1. Windows
- 创建时间
- 修改时间
- 访问时间
2. Linux
- 创建时间 access time,简称atime 文件中的数据库最后被访问的时间
- 修改时间 modify time,简称mtime 文件内容被修改的最后时间
- 状态修改时间 change time,简称ctime 文件的元数据发生变化,比如权限,所有者等等
- realtime
3. 读取文件测试
[root@localhost tmp]# touch issue.txt
[root@localhost tmp]# ll 或者ls-l
//查看的是mtime
-rw-r–r–. 1 root root 0 4月 13 15:05 issue.txt
[root@localhost tmp]# ls -l –time=atime
-rw-r–r–. 1 root root 0 4月 13 15:05 issue.txt
[root@localhost tmp]# ls -l –time=ctime
-rw-r–r–. 1 root root 0 4月 13 15:05 issue.txt
4. 使用touch创建一个文件
atime=mtime=ctime
[root@localhost tmp]# stat issue.txt
文件:”issue.txt”
大小:0 块:0 IO 块:4096 普通空文件
设备:805h/2053d Inode:16798292 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2018-04-13 15:05:35.810795822 +0800
最近更改:2018-04-13 15:05:35.810795822 +0800
最近改动:2018-04-13 15:05:35.810795822 +0800
创建时间:-
[root@localhost tmp]# cat issue.txt
[root@localhost tmp]# stat issue.txt
文件:”issue.txt”
大小:0 块:0 IO 块:4096 普通空文件
设备:805h/2053d Inode:16798292 硬链接:1
权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2018-04-13 15:09:27.680782624 +0800 (影响atime)
最近更改:2018-04-13 15:05:35.810795822 +0800
最近改动:2018-04-13 15:05:35.810795822 +0800
创建时间:-
[root@localhost tmp]#
5. 修改文件测试
[root@localhost tmp]# vim issue.txt
按i进入插入模式
输入内容
按ESC退出到命令模式
按shift+:输入wq! 保存退出
1 | [root@localhost tmp]# stat issue.txt |
6. 修改文件所有者测试
[root@localhost tmp]# useradd ABC
[root@localhost tmp]# chown ABC issue.txt
1 | [root@localhost tmp]# stat issue.txt |
7. 文件处理命令 - cat
命令名称:cat
所在路径:usr/bin/cat
执行权限:所有用户
功能描述:创建空文件
命令语法:显示文件内容&将一个文件内的内容拷贝到另一个文件中
1 | [root@localhost tmp]# cat test005.log |
原来test002.log没有任何内容(单个文件内容并入):
1 | [root@localhost tmp]# cat -n test005.log > test002.log |
原来test003.log没有任何内容(多个文件内容并入):
1 | [root@localhost tmp]# cat -b test001.log test005.log > test003.log |
8. 文件处理命令 - more
命令名称:more
所在路径:/usr/bin/more
执行权限:所有用户
功能描述:显示文件内容,分页显示
命令语法:more[文件名]
1 | [root@localhost tmp]# cd /etc |
cat:查看文件较少的内容
more:查看文件较多的内容
more>cat
空格或者f:翻页
Ctrl+b或者b :返回上一页,b就是back
Enter :一行一行显示
q或Q :退出,quit(也可以通过Ctrl+C实现中断)
1. 限制每页显示的行数(每次限时12行的内容)
1 | [root@localhost etc]# more -10 /etc/services |
2. 显示more的帮助信息
1 | [root@localhost etc]# more -d /etc/services |
3. 禁止内容滚动
[root@localhost etc]# more -10 -c /etc/services
[root@localhost etc]# more -10c /etc/services
两条命令作用相同
4. 忽略多余的空白行
1 | [root@localhost etc]# vim /tmp/a.txt |
5. 从那个字符串开始显示(+/字符串)
1 | [root@localhost etc]#more +/dasdsa /tmp/a.txt |
/user,可以通过/字符串在查找关键字
6. 从指定的行数开始显示
1 | [root@localhost etc]#vim /tmp/b.txt |
9. 文件处理命令 - less
命令名称:less
所在路径:/usr/bin/less
执行权限:所有用户
功能描述:显示文件内容,分页显示
命令语法:less [文件名]
less>more>cat
PageUp:翻页,回看上一页
PageDown:翻页,翻到下一页
方向键上下按键:一行一行显示
1. 查看文件
1 | [root@localhost bin]#cd /etc |
2. 查找关键字
[root@localhost etc]#less /etc/services
/cisco,按回车
通过n找到另外的关键字(n=next)
3. ps查看进程并通过less分页显示
[root@localhost etc]#ps -ef | less
4. 查看命令历史记录并通过less分页显示
[root@localhost etc]#history | less
5. 查看多个文件
1 | [root@localhost etc]#vim /tmp/c.txt |
按Shift+:
输入n就是切到d.txt
数入p就是c.txt的内容
10. 文件处理命令 - head
命令名称:head
所在路径:/usr/bin/head
执行权限:所有用户
功能描述:显示文件内容前几行
命令语法:head[文件名],默认是10行
-n:指定行数
[root@localhost tmp]#head -n 20 /etc/services
[root@localhost tmp]#head -n 5 /etc/services
[root@localhost tmp]#head /etc/services
//默认10行
显示文件的前多少字节[root@localhost tmp]#head -c 100 /etc/services
11. 文件处理命令 - tail
命令名称:tail
所在路径:/usr/bin/tail
执行权限:所有用户
功能描述:显示文件内容末尾几行
命令语法:tail[文件名],默认是10行
-n:指定行数
-f:动态显示文件末尾内容
[root@localhost tmp]#tail /etc/services
[root@localhost tmp]#tail -n 20 /etc/services
[root@localhost tmp]#tail -f /var/log/mesages
多开几个CRT的标签登陆CentOS,动态查看内容
12. 权限管理命令 - chmod
命令名称:chmod
所在路径:/usr/bin/chmod
执行权限:所有用户
红能描述:改变文件或者目录权限
命令语法:
1 | chmod [{ugoa}{+-=}{rwx}] [文件或目录] |
rwx — —
所有者 所属组 其他人
u:User,文件或者目录的拥有者
g:Group,文件或者目录的所属组
o:other,既不是拥有者,也不是所属组
a:all,ugo
r:读取权限,数字4(2^2)
w:写入权限,数字2(2^1)
x:执行权限,数字1(2^0)
-:没有任何权限,数据0
+:增加权限
-:取消权限
=:设定唯一权限
1. 增加/取消/设定文件权限
1 | [root@localhost tmp]# touch test001.log |
2. 针对多个文件
1 | [root@localhost tmp]# touch test002.log |
3. 将当前目录下的所有文件和子目录权限进行修改
1 | [root@localhost tmp]# mkdir -vp /tmp/a/b/c |
4. 数字
r:4
w:2
x:1
-:0
7:4+2+1,rwx
777:rwxrwxrwx(4+2+1,4+2+1,4+2+1)
1 | [root@localhost tmp]# chmod -R a=- * |
数字修改和使用=的效果是相同的
4的文件具备ROOT的权限,可以在执行过程中调用ROOT才有权限调用的文件
1 | [root@localhost tmp]# chmod 4755 test002.log |
netlogin
文件权限详细说明
文件:
读取—可以查看文件内容
写入—可以修改文件内容
执行—可以执行文件
目录:
读取—可以列出目录中内容
写入—可以在目录中创建/删除文件或者子目录
执行—可以进入目录
目录:rwx(所有者) r-x(所属组) r-x(其他人) 755(默认)
文件:rw-(所有者) r–(所属组) r–(其他人) 644(默认)
r:4
w:2
x:1
-:0
13. 文件或者目录的权限 - chmod
chown
命令名称:chown
英文原意:change file ownership
所在路径:/usr/bin/chown
执行权限:所有用户
功能呢个描述:改变文件或者目录的所有者
命令语法:chown [用户] [文件或者目录]
1 | [root@localhost tmp]# chown jincheng test |
1 | [root@localhost tmp]# useradd mike |
1 | [root@localhost tmp]# who |
1 | [mike@localhost ~]$ pwd |
修改所有者
1 | [root@localhost tmp]# chown mike test |
修改所属组
1 | [root@localhost tmp]# chown :mike test |
修改所有者和所属组
1 | [root@localhost tmp]# useradd wang |
- chown 所有者:所属组 文件或目录
- chown 所有者
- chown 所属组
递归修改
1 | [root@localhost tmp]# mkdir -vp AAA/BBB/CCC/DDD |
14. 文件或者目录的所属组 - chgrp
命令名称:chgrp
英文原意:change file group ownership
所在路径:/usr/bin/chgrp
执行权限:所有用户
功能描述:改变文件或者目录的所属组
命令语法:chgrp [组名] [文件或者目录]
修改所属组
1 | [root@localhost tmp]# groupadd cisco |
将指定文件的所属组给其他文件或者目录
1 | [root@localhost tmp]# chgrp --reference=test AAA |
递归修改
1 | [root@localhost tmp]# chgrp -R cisco AAA |
群组识别码
1 | [root@localhost tmp]# cd /etc |
15. 显示或者设置缺省的权限 - umask
命令名称:umask
英文原意:the user file-creation mask
所在路径:Shell内置命令
执行权限:所有用户
功能描述:显示或者设置缺省的权限
命令语法:umask [-S]
1 | [root@localhost tmp]# umask -S |
777 - 022 = 755(默认权限)
希望创建的文件或者目录缺省权限是:rwxr-xr– (754)
777 - 754 = 023
1 | [root@localhost tmp]# umask 023 |
16. 文件查找命令 - find
功能描述:查找、搜索文件或目录(包括隐藏文件)
命令语法:find [搜索范围] [匹配条件]
Windows:模糊查询
Linux:精确查询
1. -name和-iname
精确查找
1 | [root@localhost /]# find /etc -name init |
通配符/正则表达式
精通正则表达式 第三版 中文版
模糊查询
1 | [root@localhost /]# find /etc -name *init* |
2. -size
1个数据块 = 512Byte(字节) = 0.5KB
100M = 102400KB = 204800数据块
+n:大于
-n:小于
=n:等于
1 | [root@localhost /]# find / -size +204800 |
3. -user
1 | [root@localhost ~]# useradd mike |
4. -min
1.amin:访问时间,acess
2.cmin:文件属性,change(元数据)
3.mmin:文件内容,modify(文件大小发生变化,元数据改变,所以c也改变)
1.+:超过多长时间
2.-:多长时间之内
3.=
1 | [root@localhost /]# find /etc -cmin -30 |
5. -a和-o
- -a:两个条件同时满足
- -o:两个条件满足其中任意一个即可
大于80MB,小于100MB文件
80MB = 81920KB = 163840
1 | [root@localhost /]# find /etc -size +163840 -a -size -204800 |
-type
- f:文件
- d:目录
- l:软链接文件
查找init开头的文件
1 | [root@localhost /]# find /etc -name init* -a -type f |
查找init开头的目录
1 | [root@localhost /]# find /etc -name init* -a -type d |
查找init开头的软链接文件
1 | [root@localhost /]# find /etc -name init* -a -type l |
查找init开头,或者post开头的文件和目录
1 | [root@localhost /]# find /etc -name init* -o -name post* |
6. -exec
find /etc -name inittab -exec ls -l {} \;
//查找etc目录下的inittab文件,并且要要显示详细信息
1 | [root@localhost ~]# find /etc -name inittab |
-exec 命令 {} ; 对搜索结果执行操作
-ok 命令 {} ; 对搜索结果执行操作(带有询问)
1 | [root@localhost ~]# useradd mike |
1 | [mike@localhost ~]$ ll -a |
1 | [root@localhost ~]# find /etc -name init* -a -type f -exec ls -l {} \; |
1 | [root@localhost ~]# find /etc -name init* -a -type f -ok ls -l {} \; |
[root@localhost ~]# find /home -user mike -a -type d -ok rm -r {} \;
7. -inum
1 | [root@localhost ~]# cd /tmp |
1 | [root@localhost tmp]# ll |
1 | [root@localhost tmp]# rm program files |
1 | [root@localhost tmp]# rm "program files" |
1 | [root@localhost tmp]# touch "program files" |
1 | [root@localhost tmp]# find . -inum 16798118 -exec rm {} \; |
17. 文件搜索命令 - locate
命令名称:locate
功能描述:在文件资料库中查找文件
命令语法:locate [文件名]
1 | [root@localhost /]# ll /usr/bin/locate |
1 | [root@localhost /]# locate inittab |
[root@localhost /]# updatedb
//更新数据库
1 | [root@localhost /]# locate inittab //查找以inittab开头的文件或目录 |
安装CentOS的时候,选择的最小安装,又可能没有locate这条命令
安装mlocate包
[root@localhost /]# yum -y install mlocate
更新数据库
[root@localhost /]# updatedb
使用
[root@localhost /]# find / -name inittab
/etc/inittab1
2
3
4
5[root@localhost /]# locate inittab
/etc/inittab
/usr/share/augeas/lenses/dist/inittab.aug
/usr/share/man/zh_CN/man5/inittab.5.gz
/usr/share/vim/vim74/syntax/inittab.vim1
2
3
4
5
6[root@localhost /]# cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs fuse.glusterfs ceph fuse.ceph"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"
[root@localhost /]#PRUNE_BIND_MOUNTS:开启搜索限制,如果是no就不开启搜索限制
PRUNEFS:不搜索文件系统
PRUNENAMES:不搜索文件类型
PRUNEPATHS:不搜索的路径
修改:[root@localhost /]# vim /etc/updatedb.conf
- 按i进入编辑模式
- 编辑内容
- 按ESC退到命令模式
- 输入wq(保存退出)或者wq!(强制保存退出)四个部分组成:
1
2
3[root@localhost /]# updatedb
[root@localhost /]# locate locate
/var/lib/mlocate/mlocate.db - /usr/bin/updatedb 创建/更新数据库
- /usr/bin/locate或者mlocate 查找命令
- /etc/updatedb.conf 限制搜索条件
- /var/lib/mlocate/mlocate.db 数据库