文件的寻址
绝对路径:
文件在系统的真实位置,文件名字以“/”开头
相对路径:
文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值
注:pwd ##显示当前工作目录##
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
文件的管理
查看文件与目录:ls
Usage: ls [OPTION]... [FILE]... ##用法:ls [参数] [对象]##
ls命令的参数:
-a:列出全部文件,包括隐藏文件(以.开头的文件);
-A:列出全部文件,包括隐藏文件(以.开头的文件),但不包括.与..这两个目录;
-d:只列出目录本身,目录内的文件数据不列出;
-f:不进行排序,直接列出结果(ls命令默认是以文件名排序的);
-F:根据文件、目录等信息给予附加数据结构,例如:
*:代表可执行文件; /:代表目录; =:代表socket文件; |:代表FIFO文件;
-h:将文件容量以人类较易读懂的方式(例如:GB、KB等)列出来;
-i:列出inode号码;
-l:列出长数据串,包含文件的属性与权限等数据;
-n:列出UID与GID,而非用户与用户组名称;
-r:将排序结果反向输出,即与原本的排序结果相反;
-R:连同子目录内容一起列出来,即第归显示该目录下的文件;
-S:以文件容量大小排序,列出结果;
-t:以时间排序,列出结果;
--color=never:不依据文件特性给予颜色显示;
--color=always:依据文件特性给予颜色显示;
--color=auto:使系统自行依据设置判断是否给予颜色显示;
--full-time:以完整时间模式(年 月 日 时 分)输出;
--time={atime,ctime}:输出访问时间(atime)或改变属性时间(ctime),而非内容更改时间(modification time)。
常用ls命令示例:
[root@localhost ~]# cd /mnt/ [root@localhost mnt]# touch file{1..3} [root@localhost mnt]# touch .file [root@localhost mnt]# mkdir westos [root@localhost mnt]# touch westos/file{6..9} [root@localhost mnt]# ls ##列出当前工作目录下的内容## file1 file2 file3 westos [root@localhost mnt]# cd westos/ [root@localhost westos]# ls file6 file7 file8 file9 [root@localhost westos]# cd .. [root@localhost mnt]# echo hello>file1 [root@localhost mnt]# cat file1 hello [root@localhost mnt]# ls westos/ ##列出目录/mnt/westos/下的内容## file6 file7 file8 file9 [root@localhost mnt]# ls file1 file1 [root@localhost mnt]# ls -l /mnt/ ##列出目录/mnt/下内容的属性## total 4 -rw-r--r--. 1 root root 6 Feb 26 04:43 file1 -rw-r--r--. 1 root root 0 Feb 26 04:42 file2 -rw-r--r--. 1 root root 0 Feb 26 04:42 file3 drwxr-xr-x. 2 root root 54 Feb 26 01:25 westos [root@localhost mnt]# ls -d /mnt/ ##列出目录/mnt/本身## /mnt [root@localhost mnt]# ls -ld /mnt/ ##列出目录/mnt/本身的属性## drwxr-xr-x. 3 root root 55 Feb 26 04:42 /mnt [root@localhost mnt]# ls -R /mnt/ ##第归显示目录/mnt/下的内容## /mnt/: file1 file2 file3 westos /mnt/westos: file6 file7 file8 file9 [root@localhost mnt]# ls -a ##列出当前工作目录下的全部内容## . .. .file file1 file2 file3 westos [root@localhost mnt]# ls -A ##同上,但不包括.和..两个目录## .file file1 file2 file3 westos
复制:cp
Usage: cp [OPTION]... [-T] SOURCE DEST
or: cp [OPTION]... SOURCE... DIRECTORY ##用法:cp [参数] 源文件 目标文件##
or: cp [OPTION]... -t DIRECTORY SOURCE...
cp命令的参数:
-a:即-pdr;
-d:若源文件为连接文件的属性(link file),则复制连接文件属性而非文件本身;
-f:即force,若目标文件已经存在且无法开启,则删除后在尝试一次;
-i:若目标文件(destination)已经存在时,在覆盖时会先询问操作的进行;
-l:进行硬连接(hard link)的连接文件创建,而非复制文件本身;
-p:连同文件的属性一起复制,而非使用默认属性,一般用于文件备份;
-r:第归持续复制,用于目录的复制行为;
-s:复制成为符号连接文件(aymbolic link),即“快捷方式”文件;
-u:若destination比source旧才会更新destination。
常用cp命令的示例:
[root@localhost mnt]# ls -lR ##第归显示当前工作目录下的内容## .: total 4 -rw-r--r--. 1 root root 6 Feb 27 06:07 file1 -rwxrwxrwx. 1 root root 0 Feb 27 06:06 file2 -rwxrwxrwx. 1 root root 0 Feb 27 06:13 file3 drwxr-xr-x. 2 root root 18 Feb 27 06:11 westos ./westos: total 0 -rw-r--r--. 1 root root 0 Feb 27 06:11 class [root@localhost mnt]# cp file1 westos/ [root@localhost mnt]# cp -p file2 westos/ ##连同权限一起复制## [root@localhost mnt]# cp file3 westos/ [root@localhost mnt]# ls -lR .: total 4 -rw-r--r--. 1 root root 6 Feb 27 06:07 file1 -rwxrwxrwx. 1 root root 0 Feb 27 06:06 file2 -rwxrwxrwx. 1 root root 0 Feb 27 06:13 file3 drwxr-xr-x. 2 root root 54 Feb 27 06:18 westos ./westos: total 4 -rw-r--r--. 1 root root 0 Feb 27 06:11 class -rw-r--r--. 1 root root 6 Feb 27 06:12 file1 -rwxrwxrwx. 1 root root 0 Feb 27 06:06 file2 -rwxr-xr-x. 1 root root 0 Feb 27 06:18 file3
删除:rm
Usage: rm [OPTION]... FILE... ##用法:rm [参数] 对象##
rm命令的参数:
-f:即--force,忽略不存在的文件,且不出现警告信息;
-i:互动模式,删除前会询问用户是否执行该命令;
-r:第归删除,常用于目录删除,该参数较为危险。
常用rm命令示例:
[root@localhost mnt]# ls -R .: file1 file2 file3 westos ./westos: class1 class2 class3 [root@localhost mnt]# rm file{2..5} rm: remove regular empty file ‘file2’? y rm: remove regular empty file ‘file3’? y rm: cannot remove ‘file4’: No such file or directory ##file4不存在## rm: cannot remove ‘file5’: No such file or directory [root@localhost mnt]# ls -R .: file1 westos ./westos: class1 class2 class3 [root@localhost mnt]# rm -f file{1..3} ##执行rm命令无提示## [root@localhost mnt]# ls westos [root@localhost mnt]# rm westos/ rm: cannot remove ‘westos/’: Is a directory ##westos/是一个目录## [root@localhost mnt]# rm -r westos/ rm: descend into directory ‘westos/’? y rm: remove regular empty file ‘westos/class1’? y rm: remove regular empty file ‘westos/class2’? y rm: remove regular empty file ‘westos/class3’? y rm: remove directory ‘westos/’? y [root@localhost mnt]# ls -R .:
移动:mv
mv file1 file2 dir ##移动文件file1 file2到目录dir下##
mv 存在的文件 不存在的文件 ##把存在的文件重命名为不存在的文件##
注:相同磁盘的mv是重命名,不同磁盘的mv是复制删除过程
mv命令的参数:
-f:即--force,若目标文件已经存在,则不询问直接覆盖;
-i:若目标文件已经存在,则询问是否覆盖;
-u:若目标文件已经存在,且source(源文件)比较新,才会更新。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
文件内容的查阅
cat:由第一行开始显示文件内容;
tac:由最后一行开始显示文件内容;
nl:显示的时候,顺便输出行号;
more:一页一页地显示文件内容;
less:用途与more类似,但是可以往前翻页;
head:只看文件头几行的内容;
tail:只看文件结尾几行的内容;
od:以二进制的方式读取文件的内容。
常用查看文件内容命令的示例
[root@localhost etc]# cat passwd ##显示文件passwd的全部内容## root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin ovirtagent:x:175:175:RHEV-M Guest Agent:/usr/share/ovirt-guest-agent:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin student:x:1000:1000:Student User:/home/student:/bin/bash usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin libstoragemgmt:x:996:994:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin unbound:x:995:993:Unbound DNS resolver:/etc/unbound:/sbin/nologin qemu:x:107:107:qemu user:/:/sbin/nologin saslauth:x:994:76:"Saslauthd user":/run/saslauthd:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin radvd:x:75:75:radvd user:/:/sbin/nologin pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin gnome-initial-setup:x:993:991::/run/gnome-initial-setup/:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin [root@localhost etc]# head -n 5 passwd ##显示文件passwd的前五行## root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@localhost etc]# tail -n 5 passwd ##显示文件passwd的后五行## radvd:x:75:75:radvd user:/:/sbin/nologin pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin gnome-initial-setup:x:993:991::/run/gnome-initial-setup/:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin
注:head命令和tail命令默认情况下显示十行
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
创建文件和目录
touch
touch file ####创建文件####
[root@localhost Desktop]# touch file ##在当前目录下创建file文件## [root@localhost Desktop]# touch /mnt/file ##在/mnt目录下创建file文件##
注:touch还可以修改文件的时间戳
mkdir
mkdir directory ####在当前工作目录下创建目录#####
mkdir -p directory ####上级目录不存在自动建立####
[root@localhost Desktop]# ls [root@localhost Desktop]# mkdir westos [root@localhost Desktop]# ls westos [root@localhost Desktop]# mkdir -p linux/student [root@localhost Desktop]# ls -R .: linux westos ./linux: student ./linux/student: ./westos:
补:touch命令修改文件时间戳
用法:touch [参数] 文件
参数:
-a:仅修改访问时间;
-c:仅修改文件的时间,若该文件不存在则不会创建新的文件;
-d:后面可以接欲修改的日期而不是当前日期;
-m:仅修改mtime;
-t:后面可以接欲修改的时间而不是当前时间,格式为[YYMMDDHHMM]。
三个主要的变动时间:
modification time (mtime)-----更改文件内容数据的时间
status time (ctime)-----更改文件状态(权限或属性)的时间
access time (atime)-----文件内容被读取的时间(例如:使用cat命令查看该文件)