linux基础知识整理二
一、文件管理
1、文件系统从根目录下开始,用“/”表示;以 . 开头的文件为隐藏文件或文件夹;文件名最长255个字节。
2、标准Linux文件系统(如ext4),文件名称大小写敏感,但是并不是说linux 系统对文件名大小写敏感,当linux 系统挂在fat 文件系统的时候,同样的不敏感,所以文件名大小写是对文件系统格式敏感,并非linux系统敏感。(注:windows 默认系统格式为 FAT、FAT32、NTFS)
3、Linux下的文件类型 7种
- 普通文件 d 目录文件 b 块设备
c 字符设备 l 符号链接文件 p 管道文件pipe
s 套接字文件socket
4、在线添加硬盘,进行磁盘扫描
echo '- - - ' >/sys/class/scsi_host/host0/scan ;
echo '- - - ' >/sys/class/scsi_host/host2/scan。
5、创建特殊格式的文件名
touch -- -h touch ./test/ -h
[14:23:07 root@centos7 test]#ls
-h
[14:23:08 root@centos7 test]#rm -- -h
rm:是否删除普通空文件 "-h"?y
[14:38:41 root@centos7 ~]#rm test/--
[14:38:17 root@centos7 ~]#touch test/-h
[14:38:20 root@centos7 ~]#ls test/
-- -h
6、CentOS 7目录变化
/bin 和 /usr/bin
/sbin 和 /usr/sbin
/lib 和/usr/lib
/lib64 和 /usr/lib64
7、绝对和相对路径
【绝对路径】
以正斜杠开始
完整的文件的位置路径
可用于任何想指定一个文件名的时候
【相对路径名】
不以斜线开始
指定相对于当前工作目录或某目录的位置
可以作为一个简短的形式指定一个文件名
基名:basename
目录名:dirname
[14:39:08 root@centos7 ~]#basename /etc/sysconfig/network 只取文件
network
[14:40:15 root@centos7 ~]#dirname /etc/sysconfig/network 只取目录
/etc/sysconfig
8、列出目录内容
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
9、查看文件状态
stat
文件:metadata, data
三个时间戳:
access time 访问时间,atime,读取文件内容
[14:51:35 root@centos7 ~]#ll --time=atime /etc/motd 文件读时间查询
-rw-r--r--. 1 root root 149 Jul 26 12:22 /etc/motd 修改登录后的提斯和信息
[14:51:40 root@centos7 ~]#date -s "1 day" 当前时间减去一天
Mon Jul 27 14:52:58 CST 2020
stat /etc/motd 查看三个时间
10、关闭防火墙和selinux
[14:58:52 root@centos7 ~]#systemctl disable firewalld 7版本 禁用防火墙
[15:00:23 root@centos7 ~]#cat /etc/selinux/config
SELINUX=disabled
[15:00:04 root@centos7 ~]#vim /etc/selinux/config 需要重启才生效
[root@centos6 ~]#chkconfig iptables off centos6 以前的版本 重启生效
[root@centos6 ~]#iptables -vnl 查看规则
11、文件通配符 (匹配文件名的名称)
* 匹配零个或多个字符 隐藏文件不显示
? 匹配任何单个字符
~ 当前用户家目录
~mage 用户mage家目录
~+ 当前工作目录
~- 前一个工作目录 ls ~-/* cd -可以 ls - 就不可以
[0-9] 匹配数字范围
[a-z]:字母 不只是小写
[A-Z]:字母 不只是大写
[wang] 匹配列表中的任何的一个字符
[^wang] 匹配列表中的所有字符以外的字符
xxd /etc/fstab 16进制
[22:33:26 root@centos7 /]#hexdump -C /bin/cat 二进制
二、文件通配符
预定义的字符类:man 7 glob
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母 [:lower:] 只表示a-z 所以使用的时候,为 [[:lower:]]
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
[21:45:02 root@centos7 test]#alias l.
alias l.='ls -d . --color=auto'
[21:49:34 root@centos7 ~]#ls -d test/. 列出某录下的隐藏文件
test/. test/.. test/.log test/.txt test/.xtx
21:51:28 root@centos7 /]#ls -d */ 只列处不隐藏的文件夹
bin/ boot/ dev/ etc/ home/ lib/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/
[22:25:46 root@centos7 ~]#touch date -d '-1 day' +%F
.log 创建昨天日期的日志
[20:23:18 root@centos7 data]#\cp f1 f2 使用原始命令执行
[20:31:09 root@centos7 data]#echo file{,.bak}
file file.bak
[20:32:53 root@centos7 data]#cp -a grub2.cfg{,.bak} 备份的时候,这样最安全
[20:33:11 root@centos7 data]#ls
grub2.cfg grub2.cfg.bak
[20:34:43 root@centos7 data]#cp -av /etc/ /data/etc.bak 可以看到过程
rm -rf / 删除所有 慎用 很危险
[21:04:51 root@centos7 ~]#rm -rf /data / 删除所有 慎用 很危险 一定要注意空格问题
正确删除文件方法 >bigfile 清空文件 删除大文件,效率高,尽快释放空间
批量更改文件名:rename .log .log.bak * 改名
删除文件:一个文件能不能删,是有文件所在的文件夹权限决定的。
一般inode 表会占用问价那系统磁盘空间的1%,df -i /boot/
一个目录的文件内天就是一个该目录下所有文件的目录项的列表。
软连接:默认 软连接 原始文件的相对路径 相对于软连接的 不是相对于当前工作目录
软连接创建 原始文件使用相对于路径时,一定是相对于软连接的 不是对于当前工作目录
[14:26:39 root@centos7 data]#ln -s f1 d1/d2/d3/d4/f8.lnk 软连接有问题的
[14:37:45 root@centos7 data]#ll !*
ll -s f1 d1/d2/d3/d4/f8.lnk
0 lrwxrwxrwx 1 root root 2 Jul 28 14:37 d1/d2/d3/d4/f8.lnk -> f1 有问题的
0 -rw-r--r-- 1 root root 0 Jul 28 14:26 f1
[14:53:35 root@centos7 data]#ll -s ../../../../f1 d1/d2/d3/d4/f0.lnk 正确创建 相对于软连接的路径
相对于后面的软连接 相对于当前工作目录
lrwxrwxrwx 1 root root 14 Jul 28 14:52 d1/d2/d3/d4/f0.lnk -> ../../../../f1
[15:00:06 root@centos7 data]#ln -s cc cc.lnk 创建文件夹软连接
rm -rf cc.lnk/ 会删除文件夹里面的内容 慎用
rm -rf cc.lnk 只是删除软连接