常用Linux命令总结,看这一篇就够了

常用命令

    • Linux相关
      • Linux Shell分类
      • 查看机器支持的shell
      • SSH
    • 重要的热键
      • Tab
      • Ctrl-c
      • Ctrl-d
    • 查看目前所支持的语言
    • 获取Linux版本信息
    • pwd
    • Linux目录与路径
      • 相对路径与绝对路径
      • 目录的相关操作
        • cd (变更目录)
        • pwd (显示目前所在的目录)
        • mkdir (建立新目录)
        • rmdir (删除[空]的目录)
      • $PATH
    • Linux档案与目录管理
      • ls
      • cp (复制档案或目录)
      • rm (移除档案或目录)
      • mv (移动档案与目录,或更名)
      • 取得路径的文件名与目录名称
    • Linux档案与权限
      • 文件属性
      • 改变文件属性和权限
        • 改变所属群组, chgrp
        • 改变档案拥有者, chown
        • 改变权限, chmod
          • 数字类型改变档案权限
          • 符号类型改变档案权限
      • 权限对档案和目录的重要性
        • 对档案的重要性
        • 对目录的重要性
    • Linux中查阅文件内容
      • 直接查看档案内容
        • cat (concatenate)
        • tac (反向列示)
        • nl (添加行号打印)
      • 可翻页查看
        • more (一页一页翻动)
        • less (一页一页翻动)
      • 内容选择查看
        • head (取出前面几行)
        • tail (取出后面几行)
      • 非纯文本档: od
    • Linux touch 命令
      • 相关知识
      • 语法
      • 作用
    • 查看Linux系统的磁盘和目录容量
      • 查看磁盘的容量
      • 查看文件目录的容量

命令行模式下执行命令:
格式如下:

command [-option] parameter1 parameter2 ...

command 绝对是命令或者可执行文件!
注意:在Linux环境中,大小写字母是不一样的东西!

Linux相关

Linux Shell分类

不同的shell具备不同的功能,Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。

bash
全称:Bourne Again SHell,简称 bash,是Bourne Shell的增强版本
大多数Linux系统默认使用的shell,bash shell是Bourne shell 的一个免费版本,它是最早的Unix shell。bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。

csh
C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。

ksh
Korn shell 的语法与Bourne shell相同,同时具备了C shell的易用特点。许多安装脚本都使用ksh,ksh 有42条内部命令,与bash相比有一定的限制性。

tcsh
tcsh是csh的增强版,与C shell完全兼容。

sh
是一个快捷方式,已经被/bin/bash所取代。

nologin
指用户不能登录

zsh
目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。

查看机器支持的shell

在Linux上查看 /bin/ 这个路径,就可以知道可用的shells

SSH

SSH (Secure Shell):解决口令在网上明文传输的问题
Windows系统上常用的工具有:Tectia 官网

重要的热键

Tab

它具有 命名补全文件补齐 的作用。避免我们打错命令或者文件名。
例如:

ca[Tab][Tab]

执行这个命名后,就会所有以ca开头的命令都被显示出来。

Ctrl-c

例如,不小心执行错命令,用这个组合键,让当前的程序“停下来”。

Ctrl-d

通常代表键盘出入的结束。
也可以替代exit的输入。

查看目前所支持的语言

echo $LANG

例如,我的输出:zh_CN.UTF-8

获取Linux版本信息

echo $(uname -r)
或者
echo `uname -r`
注意上面这条是反单引号,键盘上最左边Tab键的上面。

扩展:用上面的变量,可以进去到当前用户的核心模块目录

cd /lib/modules/`uname -r`/kernel
或者
cd /lib/modules/$(uname -r)/kernel

pwd

查看当前用户目录

testuser@debian:~$ pwd
/home/testuser

其中testuser指的是当前用户,debian指的是主机名,~符号,代表的是用户的主文件夹,指的当前目录,它是个“变量”。
在Linux中,默认root的提示符为#。$表示普通用户,普通用户就是在$下输入指令,root用户就是在#下输入指令;

Linux目录与路径

系统常见目录及作用:

/etc/:几乎系统的所有配置文件案均在此,尤其 passwd,shadow
/etc/init.d:系统开机的时候加载服务的 scripts 的存放地点
/boot:开机配置文件,也是预设存放核心 vmlinuz 的地方
/usr/bin, /bin:一般执行档摆放的地方
/usr/sbin, /sbin:系统管理员常用指令集
/dev:存放所有系统装置档案的目录
/var/log:存放系统注册表档案的地方

相对路径与绝对路径

绝对路径:路径的写法『一定由根目录 / 写起』
相对路径:路径的写法『不是由 / 写起』。相对路径指『相对于目前工作目录的路径』

目录的相关操作

符号 意义
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表『目前用户身份』所在的根目录
~account 代表 account 这个用户的根目录(account 是个账号名称)

注意:
若使用『 ls -al / 』去查询,可以看到根目录下确实存在 . 与 .. 两个目录。

cd (变更目录)

cd 是 Change Directory 的缩写,这是用来变更工作目录的指令。
注意,目录名称与 cd 指令之间存在一个空格。
例子如下:

[root@www ~]# cd [相对路径或绝对路径]
# 最重要的就是目录的绝对路径与相对路径,还有一些特殊目录的符号

[root@www ~]# cd ~wang
# 代表去到 wang 这个用户的根目录,亦即 /home/wang

[root@www wang]# cd ~
# 表示回到自己的根目录,即/root 这个目录

[root@www ~]# cd
# 没有加上任何路径,也还是代表回到自己根目录的意思

[root@www ~]# cd ..
# 表示去到目前的上层目录,即 /root 的上层目录的意思

[root@www /]# cd -
# 表示回到刚刚的那个目录,也就是 /root

[root@www ~]# cd /var/spool/mail
# 这个就是绝对路径的写法! 直接指定要去的完整路径名称

[root@www mail]# cd ../mqueue
# 这个是相对路径的写法,我们由/var/spool/mail 去到/var/spool/mqueue 就这样写

pwd (显示目前所在的目录)

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录

[root@www ~]# pwd [-P]
选项与参数:-P :显示出确实的路径,而非使用链接 (link) 路径。

[root@www ~]# pwd --help
查看帮助信息。

mkdir (建立新目录)

[root@www ~]# mkdir [-mp] 目录名称
选项与参数:
-m :配置文件案的权限!直接指定,不需要看预指权限 (umask) 的作用
-p :帮助你直接将所需要的目录(包括上层目录)递归建立起来

[root@www tmp]# mkdir -p test1/test2/test3/test4
# 加了这个 -p 的选项,可以自行帮你建立多层目录

范例:建立权限为 rwx--x--x 的目录
[root@www tmp]# mkdir -m 711 test2

rmdir (删除[空]的目录)

[root@www ~]# rmdir [-p] 目录名称
选项与参数:
-p :连同上层『空的』目录也一起删除

注意的是,这个 rmdir 仅能『删除空的目录』
如果想要删除已有的空目录时,就使用 rmdir。
如果要将目录下的所有东西都删掉,这个时候就必须使用『 rm -r test 』

$PATH

查阅文件属性的指令 ls 完整文件名为: /bin/ls(这是绝对路径),
那你会不会觉得很奇怪:『为什么我可以在任何地方执行/bin/ls 这个指令呢? 』 为什么我在任何目录下输入 ls 就一定可以显示出一些信息而不会说找不到该 /bin/ls 指令呢?
这是因为环境变量 PATH 的帮助!
当我们在执行一个指令的时候,举例来说『ls』好了,系统会依照 PATH 的指定去每个 PATH 定义的目录下搜寻文件名为 ls 的可执行文件, 如果在 PATH 定义的目录中含有多个文件名为 ls 的可执行文件,那么先搜寻到的同名指令先被执行

使用『echo $PATH』可以查看到底有哪些目录被定义出来了。
echo 有『显示、印出』的意思,而 PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH !

PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有『顺序』之分的。

Linux档案与目录管理

ls

档案与目录的查看。

[root@www ~]# ls [-aAdfFhilnrRSt] 目录名称
[root@www ~]# ls [--color={never,auto,always}] 目录名称
[root@www ~]# ls [--full-time] 目录名称
选项与参数:
-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} :输出 access 时间或改变权限属性时间 (ctime)
而非内容变更时间 (modification time)

默认显示的只有: 非隐藏档的档名、 以档名进行排序及文件名代表的颜色显示(蓝色显示目录及白色显示一般档案)如此而已

cp (复制档案或目录)

[root@www ~]# cp [-adfilprsu] 来源文件(source) 目标文件(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory
选项与参数:
-a :相当于 -pdr 的意思,至于 pdr 请参考下列说明; (常用)
-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;
-f :为强制(force)的意思,若目标档案已经存在且无法开启,则移除后再尝试一次;
-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档建立, 而非复制档案本身;
-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为; (常用)
-s :复制成为符号链接文件 (symbolic link),亦即『快捷方式』档案;
-u :若 destination 比 source 旧才更新 destination !

总结:

  • 与同身份者执行这个指令会有与同的结果产生,尤其是那个-a, -p 的选项, 对于与同身份来说,差异则非常的大。
  • 在与加任何选项的情冴下,档案的某些属性/权限会改变;这是个很重要的特性!要注意!还有,连档案建立的时间也与一样了!
  • 那如果你想要将档案的所有特性都一起复制过来该忟办?可以加上 -a
    原本复制的是连结档,但是却将连结档的实际档案复制过来了。也就是说,如果没有加上任何选项时, cp 复制的是源文件,而非链接文件的属性!
  • 若要复制链接文件的属性,就得要使用 -d 的选项了!
  • 如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!

rm (移除档案或目录)

[root@www ~]# rm [-fir] 档案或目录
选项与参数:
-f :就是 force 的意思,忽略与存在的档案,与会出现警告讯息;
-i :互动模式,在删除前会询问使用者是否操作
-r :递归删除,最常用在目录的删除了

mv (移动档案与目录,或更名)

[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory
选项与参数:
-f : force 强制的意思,如果目标档案已经存在,与会询问而直接覆盖;
-i :若目标档案 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标档案已经存在,且 source 比较新,才会更新 (update)

[root@www tmp]# mv bashrc1 bashrc2 mvtest2
# 注意到这边,如果有多个来源档案或目录,则最后一个目标文件一定是『目录』
# 意思是说,将所有的数据移动到该目录

取得路径的文件名与目录名称

完整文件名 (包括目录名称与文件名) ,完整档名最长可以到达 4096 个字符。
那么知道那个是档名?那个是目录名?
就是利用斜线 (/) 来分辨!
可使用basename 与 dirname 指令,例子如下:

[root@www ~]# basename /etc/sysconfig/network
network 	<== 取得最后的档名
[root@www ~]# dirname /etc/sysconfig/network
/etc/sysconfig		<== 取得目录名

注意: 这两个命令多用在shell脚本中,可以留意。

Linux档案与权限

文件属性

通过命令:ls -l,显示档案的文件名与相关属性。

-rw-rw-r-- 1 test test 2.2K 6月 27 10:00 test.txt
drwxr-xr-x 2 root root   70 6月 19 16:00 files

对上面的 files 的权限描述如下:
说明:

  • 第一个字符代表这个档案是『目录、档案或链接文件等等』:
    若是[ d ]则表示为目录
    若是[ - ]则表示为档案
    若是[ l ]则表示为连结档(link file)
    若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置)
    若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

  • 接下来的字符中,权限位总共有9位,以三个为一组,且均为『rwx』 的三个参数的组合。
    其中, [ r ]代表可读(read)、 [ w ]代表可写(write)、 [ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

    以files为例:
    第一组(rwx):表示文件所有者的权限,该文件的所有者为root,具备可读 可写 可执行的全部权限
    第二组(r-x):文件所属组的权限,具备可读 可执行
    第三组(r-x):其他人的权限(跟本文件无关的人),具备可读 可执行

  • 第五栏为这个档案的容量大小,默认单位为 bytes

改变文件属性和权限

改变所属群组, chgrp

注意,要被改变的组名必项要在/etc/group 档案内存在才行,否则就会显示错误

[root@www ~]# chgrp [-R] dirname/filename ...
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案的情况。

改变档案拥有者, chown

注意的是, 用户必项是已经存在系统中的账号,也就是在/etc/passwd 这个档案中有记录的用户名称才能改变

[root@www ~]# chown [-R] 账号名称 档案或目录
[root@www ~]# chown [-R] 账号名称:组名 档案或目录
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更

改变权限, chmod

数字类型改变档案权限

档案或目录中,可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分别计算则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
所以等一下我们设定权限的变更时,该档案的权限数字就是 770。
变更权限的指令 chmod 的语法是这样的:

[root@www ~]# chmod [-R] xyz 档案或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属怅,为 rwx 属怅数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更

例如:

chmod 770 test.txt

所以有以下可能性:
7=4+2+1,表示拥有可读可写可执行权限
5=4+1,表示拥有可读可执行权限,但是没有写权限
4 代表拥有可读权限
0 代表没有任何权限
以此类推

符号类型改变档案权限

基本上就九个权限分别是(1)user (2)group (3)others 三种身份!那可以由 u, g, o 来代表三种身份的权限!此外,a 则代表 all 亦即全部的身份!那读写的权限就可以写成 r, w, x !也就是可以使用底下的方式来看:
常用Linux命令总结,看这一篇就够了_第1张图片
例如:

chmod u=rwx,go=rx test.txt
# 注意,u=rwx,go=rx 这里要连在一起

chmod a+w test.txt
# 给每个身份都加上写的权限

chmod a-x test.txt
# 给每个身份都去掉可执行的权限

权限对档案和目录的重要性

对档案的重要性

档案是实际存有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件(binary program)等等。 因此,权限对于档案来说,他的意义是这样的:

  • r (read):可读取此档案的实际内容,如读取文本文件的文字内容等;
  • w (write):可以编辑、新增或者是修改该档案的内容(但不含删除该档案);
  • x (eXecute):该档案具有可以被系统执行的权限

对目录的重要性

目录主要的内容在记录文件名列表,文件名与目录有强烈的关连。 针对目录时,r, w, x 对目录是如下意义:

  • r (read contents in directory):
    表示具有读取目录结构列表的权限,所以当你具有读取®一个目录的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!
  • w (modify contents of directory):
    这个可写入的权限对目录来说,表示你具有改动该目录结构列表的权限,也就是下面这些权限:
    1.建立新的档案与目录;
    2.删除已经存在的档案与目录(不论该档案的权限如何 );
    3.将已存在的档案或目录进行更名;
    4.搬移该目录内的档案、目录位置;
  • x (access directory):
    目录的 x 代表的是用户能否进入该目录成为工作目录的用途,所谓的工作目录(work directory)就是你目前所在的目录

Linux中查阅文件内容

直接查看档案内容

直接查阅一个档案的内容可以使用 cat/tac/nl 这几个指令

cat (concatenate)

[root@www ~]# cat [-AbEnTv]
选项与参数:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符

tac (反向列示)

cat 是由『第一行到最后一行连续显示在屏幕上』,而 tac 则是『 由最后一行到第一行反向在屏幕上显示出来 』

nl (添加行号打印)

[root@www ~]# nl [-bnw] 档案
选项与参数:
-b :指定行号指定的方式,主要有两种:
	-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
	-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
	-n ln :行号在屏幕的最左方显示;
	-n rn :行号在自己字段的最右方显示,且不加 0 ;
	-n rz :行号在自己字段的最右方显示,且加 0 ;
-w :行号字段的占用的位数。

nl 可以将输出的档案内容自动的加上行号。其预计的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。

可翻页查看

前面提到的 nl,cat, tac 等等,都是一次性的将数据一口气显示到屏幕上面。
下面的的指令,让我们可以一页一页的查看。

more (一页一页翻动)

如果 more 后面接的档案内容行数大于屏幕输出的行数时,最后一行会显示出目前显示的百分比, 而且还可以在最后一行输入一些有用的指令!
在 more 这个程序的运作过程中,你有几个按键可以按的:

空格键 (space)	#代表向下翻一页;
Enter	#代表向下翻『一行』;
/字符串	#代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
:f	#立刻显示出文件名以及目前显示的行数;
q	#代表立刻离开 more ,不再显示该档案内容。
b 或 [ctrl]-b	#代表往回翻页,不过这动作只对档案有用,对管线无用。

less (一页一页翻动)

less 的用法比起 more 又更加的有弹性
在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件。
除此之外,在 less 里头可以拥有更多的『搜寻』功能。不止可以向下搜寻,也可以向上搜寻。
可以输入的指令有:

空格键	#向下翻动一页;
[pagedown]	#向下翻动一页;
[pageup]	#向上翻动一页;
/字符串	#向下搜寻『字符串』的功能;
?字符串	#向上搜寻『字符串』的功能;
n	#重复前一个搜寻 (与 / 或 ? 有关! )
N	#反向的重复前一个搜寻 (与 / 或 ? 有关! )
q	#离开 less 这个程序;

内容选择查看

head (取出前面几行)

[root@www ~]# head [-n number] 档案
选项与参数:
-n :后面接数字,代表显示几行的意忠

另外那个 -n 选项后面的参数较有趣,如果接的是负数,例如-n -100 时,代表列前的所有的行数, 但不包括后面 100 行。

tail (取出后面几行)

[root@www ~]# tail [-n number] 档案
选项与参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c 才会结束 tail 的侦测

与 head -n -xx 有异曲同工之妙。当下达『tail -n +100/etc/man.config』 代表该档案从 100 行以后都会被列出来。

非纯文本档: od

我们上面提到的,都是在查阅纯文本档的内容。 那么万一我们想要查阅非文本文件,我们可以利用 od 这个指令来读取

[root@www ~]# od [-t TYPE] 档案
选项与参数:
-t :后面可以接各种『类型 (TYPE)』的输出,例如:
	a :利用默认的字符来输出;
	c :使用 ASCII 字符来输出
	d[size] :利用十进制(decimal)来输出数据,每个整数占用 size bytes
	f[size] :利用浮点数(floating)来输出数据,每个数占用 size bytes
	o[size] :利用八进制(octal)来输出数据,每个整数占用 size bytes
	x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes

Linux touch 命令

相关知识

每个档案在 linux 下都会记录许多的时间参数,其实是有三个主要的变动时间,分别如下:

  1. modification time (mtime):
    当该档案的『内容数据』变更时,就会更新这个时间!内容数据指的是档案的内容,而不是档案的属性或权限。
    下面的例子来查看mtime:
    [root@www ~]# ls -l /etc/man.config
    
  2. status time (ctime):
    当该档案的『状态 (status)』改变时,就会更新这个时间,举例来说,像是权限或属性被更改了,都会更新这个时间。
    下面的例子来查看ctime:
    [root@www ~]# ls -l --time=ctime /etc/man.config
    
  3. access time (atime):
    当『该档案的内容被取用』时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man.config , 就会更新该档案的 atime 了。
    下面的例子来查看atime:
    [root@www ~]# ls -l --time=atime /etc/man.config
    

语法

指令语法如下:

[root@www ~]# touch [-acdmt] 档案
选项与参数:
-a :仅修订 access time
-c :仅修改档案的时间,若该档案不存在则不建立新档案
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

在预设的状忞下,如果 touch 后面有接档案,则该档案的三个时间 (atime/ctime/mtime) 都会更新为目前的时间。
若该档案不存在,则会主动的建立一个新的空的档案。

作用

通过 touch 这个指令,我们可以轻易的修改档案的日期或时间。并且也可以建立一个空的档案!
不过,要注意的是,即使我们复制一个档案时,复制所有的属性,但也没有办法复制 ctime 这个属性的。ctime 可以记录这个档案最近的状忞 (status) 被改变的时间。
我们平时看的文件属性中,比较重要的还是mtime。我们关心的常常是这个档案的『内容』 是什么时候被更改的。

touch 这个指令最常被使用的情况是:

  • 建立一个空的档案;
  • 将某个档案日期修订为目前 (mtime 与 atime)

查看Linux系统的磁盘和目录容量

查看磁盘的容量

df 指令

[root@www ~]# df [-ahikHTm] [目录或文件名]
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
------------------------------------------------------------
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示

输出的结果说明:

Filesystem:代表该文件系统是在哪个 partition ,所以列出装置名称;
1k-blocks:说明底下的数字单位是 1KB,可利用 -h 或 -m 来改变容量;
Used:使用掉的硬盘空间
Available:剩下的磁盘空间大小;
Use%:磁盘的使用率。如果使用率高达 90% 以上时, 最好需要注意一下了,容量不足会造成系统问题
Mounted on:磁盘挂载的目录所在

常用例子:

df -h
# 将容量以易读的方式显示出来

查看文件目录的容量

du 指令

[root@www ~]# du [-ahskm] 档案或目录名称
选项与参数:
-a :列出所有的档案与目录容量,因为默认仅统计目录底下的档案量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量,而不列出每个各别的目录占用容量;
------------------------------------------------------------
-S :不包括子目录下的总计,与-s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

常用例子:

# 先进入到自己想查的目录上层,或者下面使用绝对路径
du -sh <directoyName>
# 统计指定文件夹的容量大小,同时容量以易读的方式显示出来

你可能感兴趣的:(Linux)