第三章 Linux常用命令(补)
二 文件操作命令
1)创建空文件或修改文件时间
touch 文件名
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
2)删除
rm -rf 文件名
-r 删除目录
-f强制
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
3)cat 文件名查看文件内容。从头到尾
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
-n列出行号
4)more 文件名分屏显示文件内容
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
空格:向下翻页 b:向上翻页 q:退出
6) head 文件名 显示文件头
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
head -n 行数 文件名指定显示文件头几行
head -n 20 文件名
head -20 文件名
tail -n 行数 文件名指定显示文件尾行
7)链接文件
ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
ln -s 源文件 目标文件//软链接,相当于windows快捷方式
ln 源文件 目标文件//硬链接,拷贝加同步更新,
//不能给目录,不能跨分区
文件名都必须写绝对路径,否则软连接移后失效
三.文件和目录都能操作的命令
1)复制
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
cp 源文件 目标位置
-r 复制目录
-p连带文件属性复制
-d若源文件是链接文件,则复制链接属性
-a相当于 -pdr
cp aa /tmp/原名复制
cp aa /tmp/bb改名复制
2)剪切或改名
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
mv 源文件 目标位置
mv /root/aa /tmp/
mv aa bb
四.权限管理(难点)
1分析权限位
-rw-r--r-- 1 root root 0 08-11 01:45 abc
权限位是十位
第一位:代表文件类型
-普通文件
d目录文件
l链接文件
后九位:属主权限u 属组权限g 其他人权限o
r读4
w写2
x执行1
2.修改权限
chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
逻辑描述法:
chmod u+x aaaa文件的属主加上执行权限
chmod u-x aaaa文件的属主减去执行权限
chmod g+w,o+w aaaa多个身份用“,”分隔
chmod u=rwx aaaa文件的属主不考虑当前权限直接赋予指定权限
chmod a-x aaa代表所有身份(u,g,o)
数字描述法:
chmod 755 aa
chmod 644 aa
重要实验:
提问:root用户创建一个目录(默认rwxr-xr-x),在目录中新建一个文件,然后将新建的文件设为777,普通用户能否删除该文件?
实验需要相关知识(后天学):
useradd 用户名 #添加用户
passwd 用户名 #为用户设置密码
从新开一个终端,用新建的用户登录进行实验
结果:失败
原因:rwx权限对于目录和文件,实际意义是不一样的
文件:
r cat more head tail 查看文件内容
w echo vim修改文件内容
x sh (execute)执行
目录:
r ls find tree列出文件
w touch mkdir rm创建删除文件
x cd进入目录
结论:
1、 对文件有写权限,只代表可以修改这个文件,要想删除文件,需要对文件所在目录有写权限。
2、只要对目录有写权限,目录中的文件,就算是root创建的,普通用户一样能删除。
赋予权限要合理
对目录w权限,就意味着需要有rwx
对脚本执行,需要rx 并对该目录有rx权限
3.修改属主和属组
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
chown 用户名 文件名改变文件属主
chown user1 aauser1 必须存在
chown user1:user1 aa 改变属主同时改变属组
chgrp 组名 文件名 改变文件属组
提问:为何新建文件权限644,新建目录755?
4.创建文件的默认权限掩码值
umask显示0022
第一位特殊权限位,不提
其他为三类用户的权限掩码值,用做大权限777减去掩码值
777
- 022
--------------
755
就是创建文件的默认权限
疑问:
新建目录mkdir test默认是755权限
新建文件touch file 默认是644权限
解答:
Linux安全机制,不给新建文件X权限。
五.帮助命令
1.man 命令名 查看命令的帮助(只用于有文件实体的命令)
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
2.命令 help 查看shell内核命令bash
六.查找命令
1.whereis 命令名 查找命令的命令,同时看到帮助文档位置
命令名称:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
which相同,可看到命令别名
2.find搜索文件命令
准备知识:
通配符——常用于文件查找
*任意字符任意多个
?任意字符一个
[] 指范围值
^反向匹配
正则表达式——常用于内容查找
. 除换行外任意符号
*任意个
? /s 贪婪模式
^开头
$结尾
命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
1. 按照文件名查找
find 查找位置 -name 文件名
find / -name aabbcc 精确查找文件aabbcc
find /etc -name init* 查找在/etc下以init开头的文件
2. 按照用户
-user 用户名按照属主用户名查找文件
-group 组名按照属组组名查找文件
3. 按照文件大小
-size+50k:大于50k,-50k:小于50k,50k:等于50kkM
find / -size +50k 查找/下大于50k的文件
默认单位512Byte
4. 按照类型
-type 类型 按照文件类型查找f:普通d:目录l:链接
5. 按照权限
find /root -perm 644按照权限查找
6. 按照文件名(不区分大小写)
-iname按照文件名查找,不区分大小写
7. 按照i节点
-inum按照i节点查找
find / -inum 2739078
逻辑连接符-a(and)-o(or)
多条件查找,条件之间可加逻辑连接符
find /etc –size -10M -a -size +1M 查找小于10M并大于1M的文件
对查找到的文件,进一步处理
find ... -exec 命令 {} \;
{} 表示find查询的结果集
\ 是转义符 表示一个命令或符号使用其本身的意义,不使用别名
; 分号是表示语句的结束
是固定格式,只能这样写。注意中间的空格。
转义符的作用是什么?
在linux中有一个别名机制,如rm删除文件,执行的却是rm -i(用which rm 可以查看命令别名),使用rm删除文件前会提示,就是因为rm -i这个参数。如果想使用命令原意,可以在加\转义,
如:\rm test.txt 则不会提示,直接删除
实例:
找到文件后查看详情:
find /etc -name inittab -exec ls -l {} \;
find /etc -name init* -a -type f -exec ls -l {} \; 要过滤掉目录,只列出文件,否则ls会列出很多文件
找到testfile后,直接删除,默认不需要确认,直接删除,也不需要加-f选项
find /test -name testfile -exec rm {} \;
找samlee用户的所有文件并删除
find /home -user samlee -exec rm –r {} \;
找samlee用户的所有文件并删除,删除前会一个提示确认
find /home -user samlee -ok rm -r {} \;
结合使用:查二进制文件并显示详情
find /etc -name init* -a -type f -exec ls -l {} \;
3.grep“字符串” 文件名查找符合条件的字串行。
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
grep -i “root” /etc/passwd
-v 反向选择
-i 忽略大小写
find:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配。通配符是完全匹配。
grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式是包含匹配
七.压缩和解压缩
.gz 和 .bz2 linux可以识别的常见压缩格式
.tar .gz .tar .bz2常见的压缩和打包命令
压缩同时打包
tar -zcvf 压缩文件名 源文件
tar -zcvf aa.tar.gz aa
-z 压缩.gz格式 -j压缩.bz2格式
-c:打包
-v:显示压缩过程
-f:指定压缩包名
注意:选项f必须在最后,否则报错。
tar -zxvf 压缩文件名解压缩同时解打包
-x解压缩
查看不解包
tar -ztvf aa.tar.gz查看不解包
tar -jtvf aa.tar.bz2
-t 只查看,不解压
tar -jxvf root.tar.bz2 -C /tmp/指定解压缩位置
八.网络命令
1.ping测试网络连通性
命令名称:ping
命令所在路径:/bin/ping
执行权限:所有用户
ping -c 次数 ip探测网络通畅
2.ifconfig 查询本机网络信息
类似windows中的ipconfig/all
命令名称:ifconfig
命令英文原意:interface configure
命令所在路径:/sbin/ifconfig
执行权限:root
可临时修改网卡IP地址
ifconfig eth0 192.168.1.1 mask 255.255.255.0
3.netstat 查看网络状态的命令 常用选项组合 –ptlun
-t查看tcp端口
-u查看udp端口
-l监听
-n以IP和端口号显示,不用域名和服务名显示
-a查询所有连接
-p查看进程名
4.write和wall(write all)广播命令
write user 回车
>发送内容
>ctrl+d保存发送
--------------------------我是分割线^-^-------------------------
wall回车
>发送内容
>ctrl+d保存发送
所有用户都能收到信息
九.关闭和重启命令
1)shutdown -h now没有特殊情况,使用此命令
-h 关机halt
-r 重启reboot
shutdown -r now等同于reboot
命令名称:shutdown
命令所在路径:/sbin/shutdown
执行权限:root
2)reboot
命令名称:reboot
命令所在路径:/sbin/reboot
执行权限:root
十.挂载命令
linux所有存储设备都必须挂载使用,包括硬盘。硬盘开机自动挂载,但多媒体(光盘,U盘等)需要手动挂载。
命令名称:mount
命令所在路径:/bin/mount
执行权限:所有用户
光盘挂载
/dev/sda1 第一个scsi硬盘的第一分区
/dev/cdrom 光盘设备软连接(方便记忆)
/dev/hdc 光盘设备名centos 5.5
/dev/sr0 光盘设备名centos 6.x
以上三个文件都是一回事儿,版本不同而已。
mount -t 文件系统 设备描述文件 挂载点(已经存在空目录)
mount -t iso9660 /dev/cdrom /mnt/cdrom
光盘卸载
umount /dev/cdrom
umount /mnt/cdrom 强调:退出挂载目录,才能卸载
U盘挂载:虚拟机USB设备存在,鼠标焦点在虚拟机内部,而不是外部主机,否则被外部主机识别为U盘
fdisk -l查看设备识别情况,U盘插入后会识别为sdb
mount -t vfat /dev/sdb1 /mnt/usb
CentOS6.x系列挂载时不需要制定-t类型也能自动识别挂载成功!!
服务器管理规范:
越是安全等级要求高的服务器,越是严格限制用户等级,不能所有人都是root,远程服务器不能关机。
服务器不允许在负载高峰执行高负载命令。例如杀毒、大数据压缩解压缩,复制,全盘搜索。
作业
1、整理笔记
2、课堂练习
3、作业题
4、预习:vi和软件安装