二、全程第二周

一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示?

文件管理工具:
1、pwd 显示工作目录

[root@node04 ~]# pwd
/root

2、cd cd [/PATH/TO/SOMEDIR] 改变目录
cd: 切换回家目录

[root@node04 bin]# cd
[root@node04 ~]# pwd
/root

cd ~: 切换回自己的家目录

[root@node04 ~]# cd /bin
[root@node04 bin]# cd ~
[root@node04 ~]# pwd
/root

cd ~USERNAME: 切换至指定用户的家目录

[root@node04 ~]# cd /bin
[root@node04 bin]# cd ~root
[root@node04 ~]# pwd
/root

cd -: 在上一次的所在目录与当前目录之间来回切换

[root@node04 ~]# cd -
/bin
[root@node04 bin]# cd -
/root
[root@node04 ~]# cd -
/bin
[root@node04 bin]# cd -
/root

3、ls: list, 列出指定目录下的内容;
-a: 显示所有文件,包括隐藏文件;

[root@node04 ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .dbus      .ICEauthority         .local   .viminfo     公共  视频  文档  音乐
..  .bash_history    .bash_profile  .cache   .cshrc   .esd_auth  initial-setup-ks.cfg  .tcshrc  .Xauthority  模板  图片  下载  桌面
[root@node04 ~]#

-A: 显示除. 和..之外 的所有文件;

[root@node04 /]# ls -a
.  ..  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@node04 /]# ls -A
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

-l:--long,长格式列表,即显示文件的详细属性信息;

[root@node04 /]# ls -l
总用量 28
lrwxrwxrwx.   1 root root    7 2月  14 13:30 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 2月  14 13:40 boot
drwxr-xr-x   19 root root 3220 2月  14 15:07 dev
drwxr-xr-x. 139 root root 8192 2月  14 16:08 etc
drwxr-xr-x.   3 root root   20 2月  14 13:42 home
lrwxrwxrwx.   1 root root    7 2月  14 13:30 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 2月  14 13:30 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   3 root root   16 2月  14 13:34 opt
dr-xr-xr-x  176 root root    0 2月  14 15:07 proc
dr-xr-x---.  14 root root 4096 2月  14 15:09 root
drwxr-xr-x   39 root root 1220 2月  14 16:08 run
lrwxrwxrwx.   1 root root    8 2月  14 13:30 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x   13 root root    0 2月  14 15:07 sys
drwxrwxrwt.  18 root root 4096 2月  14 17:05 tmp
drwxr-xr-x.  13 root root  155 2月  14 13:30 usr
drwxr-xr-x.  21 root root 4096 2月  14 13:40 var

-h, --human-readable: 对文件大小单位换算;换算后结果可能非精确值;

[root@node04 /]# ls -h
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

-d: 查看目录自身而非其内部的文件列表;

[root@node04 /]# ls -h
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@node04 /]# ls -d
.

-r: reverse,逆序显示;

[root@node04 /]# ls -r
var  usr  tmp  sys  srv  sbin  run  root  proc  opt  mnt  media  lib64  lib  home  etc  dev  boot  bin

-R: recursive, 递归显示



[root@node04 ~]# ls -R test01/
test01/:
test02

test01/test02:
test03


test01/test02/test03:
test04


test01/test02/test03/test04:


4、cat     文件文本查看器
[root@node04 ~]# cat 1.txt
1
2


3
34\\\
hjdkhdk
djhkdhj
cb
cbn
122
djij

-n: 给显示文本行编号;

[root@node04 ~]# cat -n 1.txt
     1  1
     2  2
     3
     4  3
     5  34\\\
     6  hjdkhdk
     7  djhkdhj
     8  cb
     9  cbn
    10  122
    11  djij
    12

-E: 显示行结束符$;

[root@node04 ~]# cat -E 1.txt
1$
2$
$
3$
34\\\$
hjdkhdk$
djhkdhj$
cb$
cbn$
122$
djij$
$

5、tac 文件文本查看工具:

[root@node04 ~]# tac 1.txt


djij
122
cbn
cb
djhkdhj
hjdkhdk
34\\\
3


2
1

6、file:查看文件内容类型;

[root@node04 ~]# file 1.txt
1.txt: ASCII text

7、关机或重启命令:shutdown
-h: halt
-r: reboot
8、date:系统时钟, 显示日期时间:date

[root@node04 ~]# date
2019年 02月 14日 星期四 17:34:24 CST

9、hwclock,clock: 硬件时钟,显示或设定硬件时钟

[root@node04 ~]# hwclock
2019年02月14日 星期四 17时34分52秒  -0.865988 秒
[root@node04 ~]# clock
2019年02月14日 星期四 17时34分57秒  -0.802841 秒

10、cal:日历

[root@node04 ~]# cal
      二月 2019
日 一 二 三 四 五 六
                1  2
3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28


[root@node04 ~]# cal 2019
                               2019


        一月                   二月                   三月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
       1  2  3  4  5                   1  2                   1  2
6  7  8  9 10 11 12    3  4  5  6  7  8  9    3  4  5  6  7  8  9
13 14 15 16 17 18 19   10 11 12 13 14 15 16   10 11 12 13 14 15 16
20 21 22 23 24 25 26   17 18 19 20 21 22 23   17 18 19 20 21 22 23
27 28 29 30 31         24 25 26 27 28         24 25 26 27 28 29 30
                                              31
        四月                   五月                   六月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
    1  2  3  4  5  6             1  2  3  4                      1
7  8  9 10 11 12 13    5  6  7  8  9 10 11    2  3  4  5  6  7  8
14 15 16 17 18 19 20   12 13 14 15 16 17 18    9 10 11 12 13 14 15
21 22 23 24 25 26 27   19 20 21 22 23 24 25   16 17 18 19 20 21 22
28 29 30               26 27 28 29 30 31      23 24 25 26 27 28 29
                                              30
        七月                   八月                   九月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
    1  2  3  4  5  6                1  2  3    1  2  3  4  5  6  7
7  8  9 10 11 12 13    4  5  6  7  8  9 10    8  9 10 11 12 13 14
14 15 16 17 18 19 20   11 12 13 14 15 16 17   15 16 17 18 19 20 21
21 22 23 24 25 26 27   18 19 20 21 22 23 24   22 23 24 25 26 27 28
28 29 30 31            25 26 27 28 29 30 31   29 30


        十月                  十一月                 十二月
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
       1  2  3  4  5                   1  2    1  2  3  4  5  6  7
6  7  8  9 10 11 12    3  4  5  6  7  8  9    8  9 10 11 12 13 14
13 14 15 16 17 18 19   10 11 12 13 14 15 16   15 16 17 18 19 20 21
20 21 22 23 24 25 26   17 18 19 20 21 22 23   22 23 24 25 26 27 28
27 28 29 30 31         24 25 26 27 28 29 30   29 30 31

二、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z

[root@node04 test]# mkdir -pv /tmp/a{1/{a,b},2}
mkdir: 已创建目录 "/tmp/a1"
mkdir: 已创建目录 "/tmp/a1/a"
mkdir: 已创建目录 "/tmp/a1/b"
mkdir: 已创建目录 "/tmp/a2"
[root@node04 test]# mkdir -p {x,q}_{y,z}
[root@node04 test]# ls
q_y  q_z  x_y  x_z

三、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

文件系统中的数据分为两类,分别是数据和元数据。
数据:指的是普通文件中的实际数据;
元数据:指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、以及文件数据块的分布信息等等;

查看文件的元数据信息需要用到一个命令:stat
stat命令的作用为显示文件的状态信息,输出的信息比ls命令输出的信息更加详细。
示例:

[root@node04 ~]# stat 1.txt
  文件:"1.txt"
  大小:46              块:8          IO 块:4096   普通文件
设备:803h/2051d        Inode:68770216    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-02-14 17:29:18.375151310 +0800
最近更改:2019-02-14 17:29:11.522141746 +0800
最近改动:2019-02-14 17:29:11.522141746 +0800
创建时间:-

File:文件名称;
Size:文件大小;
Blocks:占用的磁盘块数;
IO Block:IO块大小;
regular file:这里是显示文件的类型,这是一个普通文件
Device:所在设备;
Inode:Inode节点号;
Links:被链接的次数;
Access(第一个):访问权限;
Uid:uid号和属主;
Gid:gid号和属组;
Access(第二个):文件最近一次的访问时间;
Modify:文件的修改时间;
Chang:文件的改变时间。
修改文件的时间戳信息用touch命令

示例
-a: 仅修改access time;

[root@node04 ~]# stat 1.txt
  文件:"1.txt"
  大小:46              块:8          IO 块:4096   普通文件
设备:803h/2051d        Inode:68770216    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-02-14 17:29:18.375151310 +0800
最近更改:2019-02-14 17:29:11.522141746 +0800
最近改动:2019-02-14 17:29:11.522141746 +0800
创建时间:-
[root@node04 ~]# touch -a 1.txt
[root@node04 ~]# stat 1.txt
  文件:"1.txt"
  大小:46              块:8          IO 块:4096   普通文件
设备:803h/2051d        Inode:68770216    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-02-15 10:02:36.996527610 +0800
最近更改:2019-02-14 17:29:11.522141746 +0800
最近改动:2019-02-15 10:02:36.996527610 +0800
创建时间:-

-m:仅修改modify time;

[root@node04 ~]# touch -m 1.txt
[root@node04 ~]# stat 1.txt
  文件:"1.txt"
  大小:46              块:8          IO 块:4096   普通文件
设备:803h/2051d        Inode:68770216    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-02-15 10:02:36.996527610 +0800
最近更改:2019-02-15 10:03:56.751635360 +0800
最近改动:2019-02-15 10:03:56.751635360 +0800
创建时间:-

四、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

[root@node04 ~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
[root@node04 ~]# ls /tmp/t
test/                       tracker-extract-files.0/
tfile-2019-02-15-10-12-39   tracker-extract-files.1000/
[root@node04 ~]# ls /tmp/tfile-2019-02-15-10-12-39
/tmp/tfile-2019-02-15-10-12-39

五、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

[root@node04 mytest1]# mkdir -p /tmp/mytest1/
[root@node04 mytest1]# cp -rv /etc/p*[^0-9] /tmp/mytest1/

六、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack。

[root@node04 ~]# groupadd jack
[root@node04 ~]# useradd -u 5001 -d /tmp/tom/  -s /bin/zsh -G jack tom
[root@node04 home]# cat /etc/passwd | grep tom
tom:x:5001:5001::/tmp/tom/:/bin/zsh
[root@node04 home]# id tom
uid=5001(tom) gid=5001(tom) 组=5001(tom),1001(jack)

七、常用的用户以及文件管理命令有哪些,并演示命令以及用法?

Linux上的文件管理类命令有三个,分别是:cp、mv、rm命令。
cp:
 复制文件和目录的命令。cp命令分为两种,分别是:单源复制和多源复制:
 单源复制:
   如果目标文件和目录(DEST)不存在,则实现创建此文件,并复制源文件的数据流至DEST中。
   如果DEST文件存在:
    如果DEST是非目录文件,则会覆盖目标文件;
    如果DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,再复制文件。
 多源复制:
  如果目标文件不存在,错误;
  如果目标文件存在:
    如果目标文件是非目录文件,错误;
    如果目标是目录文件,分别复制每个文件至目标目录中,并保持原名。

格式:
cp [选项] 源目录或文件 目标目录或文件

选项:
-i:交互式复制,覆盖之前提醒用户确认;

[root@node04 ~]# cp -i 1.txt 11.txt
cp:是否覆盖"11.txt"? y
[root@node04 ~]#

-r/R :递归复制,将指定目录下的所有文件与子文件一并处理;

[root@node04 ~]# cp /etc/system
systemd/            system-release      system-release-cpe
[root@node04 ~]# cp /etc/system
systemd/            system-release      system-release-cpe
[root@node04 ~]# cp -r /etc/systemd/ /tmp/
[root@node04 ~]# tree  /tmp/systemd
/tmp/systemd
├── bootchart.conf
├── coredump.conf
├── journald.conf
├── logind.conf
├── system

-d:当复制符号链接时,把目标文件或目录也建立为符号链接,并指向源文件或目录链接的原始文件或目录;

[root@node04 ~]# ll 13.txt
lrwxrwxrwx 1 root root 5 2月  15 11:03 13.txt -> 1.txt
[root@node04 ~]# cp -d 13.txt 14.txt
[root@node04 ~]# ll 14.txt
lrwxrwxrwx 1 root root 5 2月  15 11:04 14.txt -> 1.txt

-p:保留源文件或目录的属性;

[root@node04 ~]# cp 1.txt 15.txt
[root@node04 ~]# stat 1.txt
  文件:"1.txt"
  大小:46              块:8          IO 块:4096   普通文件
设备:803h/2051d        Inode:68770216    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-02-15 10:58:37.500989084 +0800
最近更改:2019-02-15 10:03:56.751635360 +0800
最近改动:2019-02-15 10:03:56.751635360 +0800
创建时间:-
[root@node04 ~]# stat 15.txt
  文件:"15.txt"
  大小:46              块:8          IO 块:4096   普通文件
设备:803h/2051d        Inode:68792125    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-02-15 11:06:53.666406782 +0800
最近更改:2019-02-15 11:06:53.666406782 +0800
最近改动:2019-02-15 11:06:53.666406782 +0800
创建时间:-
[root@node04 ~]# cp -p  1.txt 16.txt
[root@node04 ~]# stat 16.txt
  文件:"16.txt"
  大小:46              块:8          IO 块:4096   普通文件
设备:803h/2051d        Inode:68792126    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2019-02-15 10:58:37.500989084 +0800
最近更改:2019-02-15 10:03:56.751635360 +0800
最近改动:2019-02-15 11:07:14.673472995 +0800
创建时间:-

mv:
  移动或重命名文件。

用法:
mv [选项] SOURCE DIRECTORY

选项:
-i:交互式操作,覆盖前先询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。

[root@node04 ~]# cp 1.txt /tmp
[root@node04 ~]# mv -i 1.txt /tmp/
mv:是否覆盖"/tmp/1.txt"? y

-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。

[root@node04 ~]# mv -f  1.txt /tmp/
[root@node04 ~]#

rm:
 删除文件或目录。
 注意:使用rm命令要格外小心,一旦删除则无法恢复。所有不用的文件建议不要直接删除,而是移动至某个专用目录(模拟回收站)

用法:
rm [选项] 文件

选项:
-i:删除已有文件或目录之前先询问用户。(只有root用户默认rm=rm -i)

[root@node04 ~]# rm 3.txt
rm:是否删除普通空文件 "3.txt"?y
[root@node04 ~]#

-f:强制删除文件或目录

[root@node04 ~]# rm -f 10.txt
[root@node04 ~]#

-r/R:递归处理,将指定目录下的所有文件与子目录一并处理。

[root@node04 ~]# rm -r test01
rm:是否进入目录"test01"? y
rm:是否进入目录"test01/test02"? y
rm:是否进入目录"test01/test02/test03"? y
rm:是否删除目录 "test01/test02/test03/test04"?y
rm:是否删除目录 "test01/test02/test03"?y
rm:是否删除目录 "test01/test02"?y
rm:是否删除目录 "test01"?y
[root@node04 ~]#
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容