#wmd-preview h1 {
color: #0077bb; /* 将标题改为蓝色 */
}
linux 基础命令总结——文件类命令
命令总结
文件类命令
linux
基础
文件查看
文件管理
俗话说基础不牢,地动山摇,在学习到一半时加固一下基础吧
本文总结的命令
目录操作类:ls cd pwd cp rm rmdir mv touch ln
文件类型及文本查看工具:cat tac more less tail head file stat
ls ——学习linux的第一个命令,就像helloworld与程序界的意义
ls (list directory contents 列出文件列表)
ls [选项] #参数多为文件目录名 不加参数 当前文件
-l:显示文件属性, ls -l=ll
-h:做相应的单位转换显示
-a:显示所有文件
-A:显示.和..以外的文件 (.在linux表示下一层文件,..在linux表示上一层文件夹)
-d:显示目录自身属性
-i:显示文件的缩影接点号码( index node , inode)
-r:逆序显示文件列表
-R:递归显示文件
[root@cloud ~]# ll
总用量 4
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh
[root@cloud ~]# ls -l
总用量 4
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh
[root@cloud ~]# ll -a
总用量 40
drwx------. 4 500 desp 4096 6月 4 12:27 .
drwxr-xr-x. 6 root root 4096 6月 3 19:11 ..
-rw-------. 1 root root 827 6月 4 15:35 .bash_history
-rw-r--r--. 1 500 desp 18 2月 22 2013 .bash_logout
-rw-r--r--. 1 500 desp 176 2月 22 2013 .bash_profile
-rw-r--r--. 1 500 desp 124 2月 22 2013 .bashrc
drwxr-xr-x. 2 500 desp 4096 11月 12 2010 .gnome2
drwxr-xr-x. 4 500 desp 4096 4月 26 2013 .mozilla
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh
-rw-------. 1 root root 1238 6月 4 12:27 .viminfo
[root@cloud ~]# ls -A
.bash_history .bash_logout .bash_profile .bashrc .gnome2 .mozilla ssserverStart.sh .viminfo
[root@cloud ~]# ls -d
/home/desp//home/desp/
[root@cloud ~]# ll -i
总用量 42491
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh #42491就是节点号
cd——切换文件目录
cd: change directory
cd [选项] [参数] #参数多为文件目录名 不加则进入当前用户家目录
cd :不加任何参数,直接进入当前用户家目录
cd ~ :表示进入当前用户的家目录
cd ~username :进入指定用户“username”的家目录
cd - :在当前目录和前一次所在的目录来回切换
cd ..:切换至其父目录
pwd ——打印当前工作目录
pwd (print name of current/working directory)
[root@cloud ~]# pwd
/home/desp
cd与pwd相结合,对cd目录做个举例
[root@cloud ~]# cd /dev/
[root@cloud dev]# cd
[root@cloud ~]# pwd
/home/desp
[desperado@cloud ~]$ who
desp pts/0 2016-06-04 20:01 (115.220.84.128)
[desperado@cloud ~]$ cd /dev/
[desperado@cloud dev]$ cd ~
[desperado@cloud ~]$ pwd
/home/desperado
[root@cloud ~]# cd ~root
[root@cloud root]# pwd
/root
file 指明linux文件类型
file (determine file type)
file [选项] [文件名]
选项:
-b :简单模式 ;只显示结果,不显示文件名
--help :显示帮助文件并退出
-v :在标准输出后显示版本信息,并且退出
-L :允许符号链接
-i :显示MIME类型
输出的文件类型:
data :数据格式文件
text : 纯文本文档
directory :目录
binary :二进制文件
empty :空文件
executable :可执行文件
block special :块设备
文件MIME类型 :
是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指 定应用程序来打开
[root@desperadochn ~]# file ~/.bashrc
/root/.bashrc: UTF-8 Unicode text
[root@desperadochn ~]# file 1111111
1111111: empty
[root@desperadochn ~]# file -b /usr/bin/ls
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
[root@desperadochn ~]# file /var/log/wtmp
/var/log/wtmp: data
root@desperadochn ~]# file 1.gif
1.gif: GIF image data, version 89a, 340 x 302
cat 查看文本
cat (oncatenate files and print on the standard output)
cat [选项] [参数]
连接并显示文件的信息,是全部显示文件内的信息 (对长文本文件没有办法 没法翻页)
-n:在显示的时候可以显示行号,这个行号只是显示出来,跟文件内容没有 关系
-E:显示每一行的行结束符,所以 linux 中文本文件的行结束符是$符
-T:可以显示制表符
-v:显示其他的非打印字符
-A:显示所有的符号
[root@desperadochn ~]# cat 1111.txt
11111111111111111111111111
11111111111111111111111111111
11111
11111
11111
11111
11111
[root@desperadochn ~]# cat -n 1111.txt
1 11111111111111111111111111
2 11111111111111111111111111111
3 11111
4 11111
5 11111
6 11111
7 11111
[root@desperadochn ~]# cat -e 1111.txt
11111111111111111111111111$
11111111111111111111111111111$
11111$ #$就是结束符
11111$
11111$
11111$
11111$
tac
与cat一样 只不过逆序显示文本
more
more 的作用同 cat 是相同的,只不过这时我们可以通过手动来翻屏,更加方便,但只支持向后翻,翻到最后就自行退出
less
显示文件信息,默认不退出显示, q 即可退出
空格:向后翻一屏
b:向前翻一屏
ENTER:向后翻一行
k:向前翻一行
关键字查找: /关键字
head
head:显示文件的前几行,默认是 10 行
-NUM:显示前多少行
[root@desperadochn log]# head dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
#限于篇幅省略部分无意义输出
[root@desperadochn log]# head -n20 dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
# 限于篇幅省略部分无意义输出
tail
tail:显示文件的后几行,默认是 10 行
-NUM:显示后多少行
-f:查看文件尾部,而且不退出,等待显示后续追加的新内容;
[root@cloud log]# tail -f shadowsocks.log #查看文件尾部,而且不退出,等待显示后续追加的新内容 查看日志信息时常有
2016-06-04 23:16:17 INFO connecting i1.ytimg.com:443 from 115.220.84.128:8082
2016-06-04 23:16:28 INFO connecting www.youtube.com:443 from 115.220.84.128:8092
2016-06-04 23:16:38 INFO connecting r3---sn-i3beln7k.googlevideo.com:443 from 115.220.84.128:8105
2016-06-04 23:16:38 INFO connecting r3---sn-i3beln7k.googlevideo.com:443 from 115.220.84.128:8106
2016-06-04 23:16:38 INFO connecting r16---sn-4g57kn66.googlevideo.com:443 from 115.220.84.128:8108
2016-06-04 23:16:38 INFO connecting www.youtube-nocookie.com:443 from 115.220.84.128:8109
2016-06-04 23:16:39 INFO connecting clients1.google.com:443 from 115.220.84.128:8110
2016-06-04 23:16:39 INFO connecting r3---sn-i3beln7k.googlevideo.com:443 from 115.220.84.128:8107
2016-06-04 23:20:08 INFO connecting s.youtube.com:443 from 115.220.84.128:8515
2016-06-04 23:20:08 INFO connecting i1.ytimg.com:443 from 115.220.84.128:8516
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8604
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8603
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8605
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8606
2016-06-04 23:20:58 INFO connecting r5---sn-4g57knd6.googlevideo.com:443 from 115.220.84.128:8607
2016-06-04 23:20:59 INFO connecting www.youtube-nocookie.com:443 from 115.220.84.128:8608
2016-06-04 23:20:59 INFO connecting clients1.google.com:443 from 115.220.84.128:8609
[root@cloud log]# tail -n5 shadowsocks.log #显示文件后5行
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8606
2016-06-04 23:20:58 INFO connecting r5---sn-4g57knd6.googlevideo.com:443 from 115.220.84.128:8607
2016-06-04 23:20:59 INFO connecting www.youtube-nocookie.com:443 from 115.220.84.128:8608
2016-06-04 23:20:59 INFO connecting clients1.google.com:443 from 115.220.84.128:8609
2016-06-04 23:21:54 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8712
mkdir 创建目录
-p:递归创建
-V:显示创建信息
[root@desperadochn ~]# mkdir -pv 111/222/22/111
mkdir: 已创建目录 "111/222/22/111"
rmdir 删除目录
-p:递归删除
-V:显示删除信息
只能删除目录,不能删除文件
[root@desperadochn ~]# rmdir -pv 111/222/22/111
rmdir: 正在删除目录 "111/222/22/111"
rmdir: 正在删除目录 "111/222/22"
rmdir: 正在删除目录 "111/222"
rmdir: 正在删除目录 "111"
[root@desperadochn ~]# mkdir -pv 111/222/22/111
mkdir: 已创建目录 "111/222/22/111"
[root@desperadochn ~]# cd 111
[root@desperadochn 111]# touch 1111.txt
[root@desperadochn 111]# cd ..
[root@desperadochn ~]# rmdir -pv 111/222/22/111
rmdir: 正在删除目录 "111/222/22/111"
rmdir: 正在删除目录 "111/222/22"
rmdir: 正在删除目录 "111/222"
rmdir: 正在删除目录 "111"
rmdir: 删除目录 "111" 失败: 目录非空
#rmdir 对目录中有文件的目录没有办法,即只能删除空目录
rm 删除文件 可以删除目录和文件
-i:交互式删除
-f:暴力删除
-r:递归删除
命令可以组合利用
rm与rmdir的区别在于,rm可以删除文件和目录 而rmdir只能删除空目录
若rm要删除目录必须带-r参数
[root@desperadochn ~]# mkdir -p 111/222/22/111
[root@desperadochn ~]# rm -rf 111/222/22/111
[root@desperadochn ~]# ll
总用量 10264
drwxr-xr-x. 3 root root 16 4月 30 08:13 111
-rw-r--r--. 1 desperadochn desperadochn 0 4月 25 22:10 1111
------x---. 1 root root 0 4月 25 19:33 1111111
-rw-r--r--. 1 root root 87 4月 25 16:27 1111.txt
[root@desperadochn ~]# rm -f 1111.txt
[root@desperadochn ~]# ll
总用量 10260 #1111.txt已删除
drwxr-xr-x. 3 root root 16 4月 30 08:13 111
-rw-r--r--. 1 desperadochn desperadochn 0 4月 25 22:10 1111
------x---. 1 root root 0 4月 25 19:33 1111111
-rw-r--r--. 1 root root 66441 3月 19 12:13 1.txt
[root@desperadochn ~]# mkdir -pv 111/222/22/111
mkdir: 已创建目录 "111/222/22/111"
[root@desperadochn ~]# cd 111
[root@desperadochn 111]# touch 1111.txt
[root@desperadochn 111]# cd ..
[root@desperadochn ~]# rm -rf 111/222/22/111 #用rm目录 递归删除有文件的目录成功了
[root@desperadochn ~]# rm -ir 111/222/22/111
rm:是否删除目录 "111/222/22/111"?y
cp 文件复制
规则:只有最后一个为目标。复制一个文件到一个文件 或者 多个文件
到一个目录!
规则细节如下:SRC——DEST
SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;
如果目录存在则存在以下两种情况:
1、 如果DEST是文件:将SRC中的内容覆盖至DEST中;此时建议为cp命令使用-i选项;
2、如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
cp SRC... DEST
当SRC...:多个文件 则DEST必须存在,且为目录,其它情形均会出错;
cp SRC DEST
SRC是目录:此时应使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DES
如果DEST存在有两种情况:
1、如果DEST是文件:报错
2、如果DEST是目录:复制到该目录
注意 :
不同身份者执行这个指令会有不同的结果产生,尤其是那个-a, -p 的选项, 对于不同身份来说,差异则非常的大!
选项:
-a :相当于 -dr --preserve=all 的意思,归档复制
-d :若来源文件为链接文件的属性(link file), 则复制链接文件属性而非文件本身;
-f : 为强制(force)的意思,若目标文件已经存在且无法开启, 则移除后再尝试一次;
-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l : 进行硬式连结(hard link)的连结档建立,而非复制文件本身;
-p : 连同文件的属性(权限、用户、 时间)一起复制过去,而非使用默认属性(备份常用);
-r : 递归持续复制,用于目录的复制行为; (常用)
-s :复制成为符号链接文件 (symbolic link),亦即『快捷方式』 文件;
-u : destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制。
--preserve=all :除了 -p 的权限相关参数外, 还加入 SELinux 的属性, links, xattr 等也复制了。
最后需要注意的,如果来源档有两个以上, 则最后一个目的文件一定要是『目录』才行!
[root@desperadochn ~]# cp -i ~/.bashrc /tmp/bashrc
[root@desperadochn ~]# cp -i ~/.bashrc /tmp/bashrc
cp:是否覆盖"/tmp/bashrc"? y
[root@desperadochn etc]# cp -a /etc/grub.d/ /root/grub
[root@desperadochn etc]# cd /root/grub/
[root@desperadochn grub]# ll
total 72
-rwxr-xr-x. 1 root root 8702 Nov 24 23:49 00_header
-rwxr-xr-x. 1 root root 992 May 4 2015 00_tuned
-rwxr-xr-x. 1 root root 230 Nov 24 23:49 01_users
-rwxr-xr-x. 1 root root 10232 Nov 24 23:49 10_linux
-rwxr-xr-x. 1 root root 10275 Nov 24 23:49 20_linux_xen
-rwxr-xr-x. 1 root root 2559 Nov 24 23:49 20_ppc_terminfo
-rwxr-xr-x. 1 root root 11169 Nov 24 23:49 30_os-prober
-rwxr-xr-x. 1 root root 214 Nov 24 23:49 40_custom
-rwxr-xr-x. 1 root root 216 Nov 24 23:49 41_custom
-rw-r--r--. 1 root root 483 Nov 24 23:49 README
[root@desperadochn grub]# cd /etc/grub.d
[root@desperadochn grub.d]# ll
total 72
-rwxr-xr-x. 1 root root 8702 Nov 24 23:49 00_header
-rwxr-xr-x. 1 root root 992 May 4 2015 00_tuned
-rwxr-xr-x. 1 root root 230 Nov 24 23:49 01_users
-rwxr-xr-x. 1 root root 10232 Nov 24 23:49 10_linux
-rwxr-xr-x. 1 root root 10275 Nov 24 23:49 20_linux_xen
-rwxr-xr-x. 1 root root 2559 Nov 24 23:49 20_ppc_terminfo
-rwxr-xr-x. 1 root root 11169 Nov 24 23:49 30_os-prober
-rwxr-xr-x. 1 root root 214 Nov 24 23:49 40_custom
-rwxr-xr-x. 1 root root 216 Nov 24 23:49 41_custom
-rw-r--r--. 1 root root 483 Nov 24 23:49 README
mv——移动文件
mv SRC(源) DEST(目标)
在统一目录下可以利用 mv 进行重命名: mv abc bcd 或者 mv -t 目标 源
[root@desperadochn ~]# mv 153_160603161305_1.gif 1.gif
[root@desperadochn ~]# ll
总用量 11992
drwxr-xr-x. 3 root root 31 4月 30 08:23 111
-rw-r--r--. 1 desperadochn desperadochn 0 4月 25 22:10 1111
------x---. 1 root root 0 4月 25 19:33 1111111
-rw-r--r--. 1 root root 1770051 6月 3 2016 1.gif
touch——创建文件
-c:文件存在的时候不在创建
-a:只改变文件的访问时间
-m:只改变文件的修改时间
-t:自己设定文件的时间戳(年月日时分.秒),与 a、 m 配合使用
ln——创建链接文件
ln [选项] [源文件] [链接文件]
ln SRC DEST:创建硬链接
–b或–backup:删除,覆盖目标文件之前的备份;
-d或-F或——directory:建立目录的硬连接;
-f或——force:强行建立文件或目录的连接,不论文件或目录是否存在;
-i或——interactive:覆盖既有文件之前先询问用户;
-n或–no-dereference:把符号连接的目的目录视为一般文件;
-s或——symbolic:对源文件建立符号连接,而非硬连接;
-S<字尾备份字符串>或–suffix=<字尾备份字符串>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字符串是符号“~”,用户可通过“-S”参数来改变它;
-v或——verbose:显示指令执行过程;
-V<备份方式>或–version-control=<备份方式>:用“-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用“-S”参数变更,当使用“-V”参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串;
–help:在线帮助; –version:显示版本信息。
硬件连接:
1、只能对文件创建,不能应用于目录,文件的硬链接次数为 2
2、不能夸文件系统
3、创建硬链接会增加文件被连接的次数
符号连接:
1、可应用于目录
2、可以跨文件系统
3、不会增加被连接文件的连接次数
4、其大小为指定的路径所包含的字符个数
ln -s /usr/mengqc/mub1 /usr/liu/abc
#在目录/usr/liu下建立一个符号链接文件abc,使它指向目录/usr/mengqc/mub1
stat——用于显示文件的状态信息
stat命令用于显示文件的状态信息,输出信息比ls命令的输出信息要更详细
语法:stat(选项)(参数)
选项:
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
-c:以指定格式显示输出
文件类型描述如下:
-:普通文件
d:目录
l:符号链接文件
p:管道文件
s:socket文件
b:块设备文件
c:字符设备文件
输出
stat和stat -L输出如下信息:
1、设备编号
2、节点号
3、访问权限
4、硬链接数
5、所有者的有效用户ID和名称
6、所有者的有效组ID和名称
7、节点设备类型
8、以字节为单位的的总大小
9、分配的总块数(Blocks)
10、I/O块大小(I/O Blocks)
11、最后访问时间(atime Access)
12、最后修改时间 (mtime Modify )
13、最后改动时间 (ctime Change )
stat -f 输出如下信息:
1、文件类型
2、文件系统块大小
3、文件系统全部块
4、空闲块的数量
5、可用块的数量
6、索引节点总数
7、文件名最大长度
8、文件ID
可以用-c选项指定如下输出格式:
1、%a 八进制表示的访问权限
2、%A 用人类可读的格式表示的访问权限
3、%b 已分配的块数
4、%B %b 记录每个块的大小 以字节记
5、%d 十进制表示的设备数
6、%D 十六进制表示的设备数
7、%f 十六进制表示的原始模式
8、%F 文件类型
9、%g 所有组标识
10、%h 硬链接数量
11、%i 索引节点号
12、%n 文件名
13、%N 引用文件名
14、%o I/O块大小
15、%s 总大小,以字节记
16、%t 以十六进制表示的主要设备类型
17、%T 以十六进制表示的的次要设备类型
18、%u 所有者用户标识
19、%U 所有者用户名
20、%x 最近访问时间
21、%X 从UNIX元年(1970年1月1日)起计算的上次访问时间(atime)
22、%y 上次修改时间
23、%Y 从UNIX元年(1970年1月1日)起计算的上次修改时间(mtime)
24、%z 上次更改时间
25、%Z 从UNIX元年(1970年1月1日)起计算的上次更改时间(ctime)
如果指定了-c和-f 可以使用以下格式:
1、%a 可用的空闲块
2、%b 文件系统全部数据块
3、%c 文件系统全部文件节点
4、%d 文件系统空闲文件节点
5、%f 文件系统空闲块
6、%i 十六进制表示的文件系统标识
7、%l 最大文件名长度
8、%n 文件名
9、%s 最佳传输块的大小
10、%S 基本块大小
11、%t 十六进制表示的类型
12、%T 人类可读形式的类型
[root@desperadochn ~]# stat /
文件:"/"
大小:4096 块:8 IO 块:4096 目录
设备:fd00h/64768d Inode:128 硬链接:18
权限:(0555/dr-xr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:root_t:s0
最近访问:2016-04-29 22:45:27.317854243 +0800
最近更改:2016-03-29 15:49:54.955953636 +0800
最近改动:2016-03-29 15:49:54.955953636 +0800
创建时间:-
[root@desperadochn ~]# stat -L /
文件:"/"
大小:4096 块:8 IO 块:4096 目录
设备:fd00h/64768d Inode:128 硬链接:18
权限:(0555/dr-xr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:root_t:s0
最近访问:2016-04-29 22:45:27.317854243 +0800
最近更改:2016-03-29 15:49:54.955953636 +0800
最近改动:2016-03-29 15:49:54.955953636 +0800
创建时间:-
[root@desperadochn ~]# stat -c%A /
dr-xr-xr-x
[root@desperadochn ~]# stat -f /
文件:"/"
ID:fd0000000000 文件名长度:255 类型:xfs
块大小:4096 基本块大小:4096
块:总计:4576768 空闲:4027461 可用:4027461
Inodes: 总计:18317312 空闲:18242372
[root@desperadochn ~]# stat -c%U /
root
[root@desperadochn ~]# stat -f /
File: "/"
ID: fd0000000000 Namelen: 255 Type: xfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 4576768 Free: 4027569 Available: 4027569
Inodes: Total: 18317312 Free: 18242372
[root@desperadochn ~]# stat -c%a -f /
4027569
[root@desperadochn ~]# stat -c%n%a -f /etc/passwd
/etc/passwd4027572
原创文章,作者:Net17_desperado,如若转载,请注明出处:http://www.178linux.com/20034