目录名 | 说明 |
---|---|
/ | linux系统的根目录 |
/home | linux系统的家目录,也是普通用户的主目录,每个用户在该目录下都有一个与用户名相同的目录 |
/root | 存放根用户(超级用户)的主目录 |
/etc | 存放系统的配置文件和管理文件,都是文本格式 |
/boot | 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录 |
/dev | 存放设备文件 |
/bin | 所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序 |
/sbin | 管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序 |
/usr | 存放应用程序及相关文件 |
/media | 便携式移动设备挂载点 |
/mnt | 主要用于存放系统引导后被挂载的文件系统的挂载点 |
/lib | 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules) |
/srv | srv代表服务,包含服务器特定服务相关的数据 |
/proc | 包含系统进程的相关信息 |
/var | 用于存放系统中经常变化的文件,如日志文件、用户邮件文件等 |
/tmp | 公共的临时文件存储点 |
利用stat命令,可以显示文件的元数据
元数据信息如下
File:文件名
Size:文件大小
Blocks:文件所占扇区个数,为8的倍数
IO Block:每个数据块大小
regular file:普通文件
Inode:文件的Inode号
Links:硬链接次数
Access:权限
Uid:用户ID
Gid:组ID
Access:最近访问时间
Modify:数据改动时间
Change:元数据改动时间
时间戳有三种:atime,ctime,mtime
修改atime:查看文件即会修改时间戳
修改ctime:当修改文件时则会改动时间戳,而且一定也会修改mtime
修改mtime:对元数据进行修改时就会改动时间戳,比如重命名文件,修改文件所有者等操作
硬链接和软链接的区别
本质:
硬链接本质是同一个文件,多个名字
软链接本质是不同文件
相互关系
硬链接相互之间平等独立,删除一个不影响其他
软链接相互之间存在依赖关系,删除原始文件软链接就失效了
inode编号
硬链接之间用一个inode编号
软链接之间编号各不相同
链接数
硬链接创建会增长链接数,删除会减少链接数
软链接创建不会增长,删除不会减少链接数,相当于删除Windows的快捷方式
路径
硬链接创建的原始文件路径是相对于当前工作目录
软链接的原始文件路径是相对于软链接的相对路径
文件类型
硬链接创建不会改变文件类型
软链接创建文件类型为l
[root@centos7 libnl]# pwd
/etc/libnl
使用绝对或相对路径
cd /home/wang/
cd home/wang
切换至父目录:cd…
切换至当前用户主目录:cd
[root@centos7 libnl]# cd
[root@centos7 ~]#
切换至以前的工作目录:cd -
[root@centos7 ~]# cd -
/etc/libnl
[root@centos7 libnl]#
选项:-p
相关的环境变量:
PWD:当前目录路径
OLDPWD:上一次目录路径
ls 列出当前目录的内容或指定目录
ls -a 包含隐藏文件
ls -l 显示额外信息
ll =ls -l
ls -R 目录递归
ls -ld 目录和符号链接信息
ls-1 文件分行显示
[root@centos7 data]# ll
total 8
drwxr-xr-x. 2 root root 6 Apr 24 23:04 text10
lrwxrwxrwx. 1 root root 6 Apr 24 23:04 text11.link -> text10
-rw-r--r--. 2 root root 5 Apr 24 22:50 text1.txt
lrwxrwxrwx. 1 root root 9 Apr 24 22:54 text1.txt.link -> text1.txt
-rw-r--r--. 2 root root 5 Apr 24 22:50 text.txt
lrwxrwxrwx. 1 root root 8 Apr 24 22:54 text.txt.link -> text.txt
[root@centos7 ~]# ls -a
. .bash_logout .config Documents initial-setup-ks.cfg Public Videos
.. .bash_profile .cshrc Downloads .local .tcshrc .viminfo
anaconda-ks.cfg .bashrc .dbus .esd_auth Music Templates .Xauthority
.bash_history .cache Desktop .ICEauthority Pictures text2.txt.link
[root@centos7 ~]# ls -R
.:
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates Videos
Desktop Downloads Music Public text2.txt.link
./Desktop:
./Documents:
./Downloads:
./Music:
./Pictures:
./Public:
./Templates:
./Videos:
cp -i 覆盖前提示
cp -n 不覆盖,注意两者顺序
cp -r,-R 递归复制目录及内部的所有内容
cp -a 归档,相当于-dR --preserv=all 基本充当备份效果
cp -d 不复制原文件,只复制链接名
cp -p 等同于--preserve=mode,ownership,timestamp
cp -v 查看拷贝过程
cp -av 备份并查看拷贝过程
[root@centos7 data]# cp -i /etc/passwd /data/test1.txt
cp: overwrite ‘/data/test1.txt’? y
[root@centos7 data]# cp -av test1.txt test.txt.bak
‘test1.txt’ -> ‘test.txt.bak’
mv -i 交互式
mv -f 强制
mv -b 目标存在,覆盖前先备份
mv /etc/f1 /dev 把etc目录下的f1文件移动到dev目录下
mv f1 f2 把文件f1改名为f2
[root@centos7 ~]# mv -b test1.txt /data/
mv: overwrite ‘/data/test1.txt’? y
[root@centos7 etc]# mv /etc/test123 /data/
[root@centos7 data]# mv test123 text123
rm 选项 文件名
rm -i 交互式
rm -f 强制删除
rm -r 递归
rm -rf 删除整个文件夹
rm -rf /* 删库跑路
--no-preserve-root 删除/
> /boot/file1 把一个文件重新覆盖为0字节大小的文件,用来日常维护时清空过大的文件以免占空太多磁盘空间
rm -f /boot/file1 覆盖完后执行命令删除
[root@centos7 data]# rm -rf text123
tree 显示目录树
tree -d :只显示目录
tree -L level :指定显示的层级数目
tree -P pattern :只显示由指定pattern匹配到的路径
[root@centos7 ~]# tree
.
├── anaconda-ks.cfg
├── Desktop
├── Documents
├── Downloads
├── initial-setup-ks.cfg
├── Music
├── Pictures
├── Public
├── Templates
├── text2.txt.link -> ../data/text2.txt
└── Videos
[root@centos7 ~]# tree -d
.
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── Templates
└── Videos
[root@centos7 data]# tree -L 2
.
├── functions
├── test1.txt
├── test1.txt~
├── test.txt.bak
├── text10
│ └── f1
├── text11.link -> text10
├── text1.txt
├── text1.txt.link -> text1.txt
├── text.txt
└── text.txt.link -> text.txt
mkdir 创建目录
mkdir -p 存在于不报错,且可自动创建所需的各目录
mkdir -v 显示详细信息
mkdir -m MODE 创建目录时直接指定权限
[root@centos7 data]# mkdir f2
[root@centos7 data]# mkdir -p /data/f1/f2/f3
rmdir 删除空目录
rmdir -p 递归删除父空目录
rmdir -v 显示详细信息
[root@centos7 data]# rmdir f2
[root@centos7 data]# rmdir -pv /data/f1/f2/f3
rmdir: removing directory, ‘/data/f1/f2/f3’
rmdir: removing directory, ‘/data/f1/f2’
rmdir: removing directory, ‘/data/f1’
rmdir: removing directory, ‘/data’
rmdir: failed to remove directory ‘/data’: Device or resource busy
[root@centos7 data]# cp /etc/profile /tmp
[root@centos7 data]# sed -nr 's@(^[[:space:]]+)(.*)@\2@p' /tmp/profile
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
export HISTCONTROL=ignoreboth
export HISTCONTROL=ignoredups
umask 002
umask 022
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
或者在vim下的命令模式输入:%s@^[[:space:]]\+@@g,即可同样完成以上操作
在命令模式输入:set tabstop=4