linux发行版系统目录命名规则node
使用根文件系统结构,使用FHS层次结构。linux系统严格区分大小写,系统目录继承了这一特色。linux
/:根目录,全部目录的最高一级目录shell
/bin:全部用户可用的基础命令存放目录vim
/sbin:仅root用户可用的命令存放目录bash
/home:普通用户家目录less
/root:超级用户家目录ide
/etc:存放配置文件的目录ui
/usr:存放全局共享数据的目录this
/usr/local:部分第三方应用程序安装目录idea
/dev:存放设备文件的目录
/dev/null:空设备,全部存入的数据都会被丢弃的设备文件
/dev/zero:零设备,输出指定长度二进制0的设备文件
/lib:存放库文件和内核模块的目录
/lib64:存放专用64位库文件的目录
/var:存放常发生变化的文件以及少部分配置文件的目录
/var/log:存放系统日志的目录
/boot:存放系统启动过程所用到的引导文件、内核文件等文件的目录
/proc:存放内核与进程相关文件的虚拟文件系统
/proc/cpuinfo:存放cpu信息的文件
/medir:可移动存储设备的默认挂载点
/mnt:临时挂载点,重启失效
/tmp:存放临时目录及文件的目录,重启清空
/opt:部分第三方应用程序的默认安装目录
文件的元数据信息包含
File 文件名称 Size 文件大小 Blocks 占用的磁盘块数 IO Block IO块大小 regular file 文件的类型 Device 所在设备 Inode Inode节点号 Links 被连接的次数 Access 文件的访问权限 Uid 属主id和全部人 Gid 属组id和所属组 Access 文件最近一次被访问的时间 Modify 文件的数据内容被修改的时间 Chang 文件的状态改变的时间
能够经过stat命令查看文件的元数据,例:
[root@zfc ~]# stat anaconda-ks.cfg File: ‘anaconda-ks.cfg’ Size: 1968 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 4297153635 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-11-06 18:22:12.433397525 +0800 Modify: 2019-11-06 18:22:12.433397525 +0800 Change: 2019-11-06 18:22:12.822401901 +0800 Birth: -
能够经过touch命令修改文件的时间戳,例:
[root@zfc ~]# touch anaconda-ks.cfg [root@zfc ~]# stat anaconda-ks.cfg File: ‘anaconda-ks.cfg’ Size: 1968 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 4297153635 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-11-09 18:24:00.413843056 +0800 Modify: 2019-11-09 18:24:00.413843056 +0800 Change: 2019-11-09 18:24:00.413843056 +0800 Birth: -
连接
包含软连接和硬连接,软连接是建立的一个指向数据块的新的inode的文件,与源文件inode不一样,删除源文件软连接即失效。硬连接是建立新的数据块存储相同的内容,可是inode相同,删除源文件硬连接依然有效。
[root@zfc ~]# touch ln #建立一个源文件 [root@zfc ~]# ln -s ln ln_s #建立软连接 [root@zfc ~]# ln ln ln_h #建立硬连接 [root@zfc ~]# stat ln |grep -i inode #查看源文件inode Device: fd00h/64768d Inode: 4297103463 Links: 2 [root@zfc ~]# stat ln_h |grep -i inode #查看硬连接inode Device: fd00h/64768d Inode: 4297103463 Links: 2 [root@zfc ~]# stat ln_s |grep -i inode #查看软连接inode Device: fd00h/64768d Inode: 4297153591 Links: 1 [root@zfc ~]# rm -f ln #删除源文件 [root@zfc ~]# ll ln* -rw-r--r-- 1 root root 18 Nov 9 18:31 ln_h #能够正常打开 lrwxrwxrwx 1 root root 2 Nov 9 18:30 ln_s -> ln #连接失效,没法打开
文件管理类命令
ls:查看目录下的文件
-a:显示全部文件包括隐藏文件
-A:显示除.和..以外的全部文件
-l,--long:显示文件的详细属性信息
-h:对文件大小进行人性化显示
-d:查看目录自己而非其内部的文件
-r:逆序显示文件
-R:递归显示文件
touch:建立文件,若是文件已存在则刷新时间戳
mkdir:建立目录
-p:自动按需建立父目录
-m:建立目录时给定权限
cp:复制
-f:强制覆盖目标文件
-r,-R:递归复制目录
mv:剪切文件到指定目录,若是剪切到同一目录下即为更名
-f:强制覆盖目标文件
rm:删除文件或目录
-f:强制覆盖目标文件
-r,-R:递归处理,将制定目录下的全部文件包括目录一并删除
复制/etc/profile到/tmp目录,用查找替换命令删除文件中的行首空白字符
[root@zfc ~]# cp /etc/profile /tmp [root@zfc ~]# sed -i 's/^[[:space:]]*//g' /tmp/profile [root@zfc ~]# cat /tmp/profile # /etc/profile # System wide environment and startup programs, for login setup # Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you # are doing. It's much better to create a custom.sh shell script in # /etc/profile.d/ to make custom changes to your environment, as this # will prevent the need for merging in future updates. pathmunge () { case ":${PATH}:" in case ":${PATH}:" in *:"$1":*) *:"$1":*) ;; ;; *) *) if [ "$2" = "after" ] ; then if [ "$2" = "after" ] ; then PATH=$PATH:$1 PATH=$PATH:$1 else else PATH=$1:$PATH PATH=$1:$PATH fi fi esac esac }
在vim中设置tab缩进为4个字符
:set tabstop=4