Linux常见文件管理类命令

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

pwd: printing working directory

显示当前工作目录
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts

cd:change directory

cd: 切换回家目录;
	注意:bash中, ~表示家目录;
	[root@localhost network-scripts]# pwd
    /etc/sysconfig/network-scripts
    [root@localhost network-scripts]# cd
    [root@localhost ~]# pwd
    /root
	
cd ~:切换回自己的家目录
    [root@localhost ~]# su - bei
    Last login: Sun Nov 18 09:00:34 EST 2018 on :0
    [bei@localhost ~]$ cd /etc/sysconfig/network-scripts/
    [bei@localhost network-scripts]$ pwd
    /etc/sysconfig/network-scripts
    [bei@localhost network-scripts]$ cd
    [bei@localhost ~]$ pwd
    /home/bei
    [bei@localhost ~]$ cd ~
    [bei@localhost ~]$ pwd
    /home/bei
    
cd ~USERNAME:切换至指定用户的家目录;
	[root@localhost ~]# pwd
    /root
    [root@localhost ~]# cd ~bei
    [root@localhost bei]# pwd
    /home/bei
    
cd -:在上一次所在目录与当前目录之间来回切换;
    [root@localhost /]# cd /etc/sysconfig/
    [root@localhost sysconfig]# pwd
    /etc/sysconfig
    [root@localhost sysconfig]# cd /
    [root@localhost /]# pwd
    /
    [root@localhost /]# cd -
    /etc/sysconfig
    [root@localhost sysconfig]# pwd
    /etc/sysconfig

ls: list,

列出指定目录下的内容
ls [OPTION]... [FILE]...
	-a: 显示所有文件,包括隐藏文件
	-A:显示除.和..之外的所有文件;
	-l: --long, 长格式列表,即显示文件的详细属性信息;
		-rw-r--r--. 1 root   root     8957 10月 14 19:34 boot.log
		-:文件类型,-, d, b, c, l, s, p
		rw-r--r--
			rw-:文件属主的权限;
			r--:文件属组的权限;
			r--:其它用户(非属主、属组)的权限;
		1:数字表示文件被硬链接的次数;
		root:文件的属主;
		root:文件的属组;
		8957:数字表示文件的大小,单位是字节;
		10月 14 19:34 :文件最近一次被修改的时间;
		boot.log:文件名
		
		[root@localhost ~]# ls -la 
        total 48
        dr-xr-x---.  5 root root  256 Nov 27 20:33 .
        dr-xr-xr-x. 17 root root  246 Nov 22 09:31 ..
        -rw-------.  1 root root 1646 May  9  2018 anaconda-ks.cfg
        -rw-------.  1 root root 4264 Nov 27 10:30 .bash_history
        -rw-r--r--.  1 root root   18 Dec 28  2013 .bash_logout
        -rw-r--r--.  1 root root  176 Dec 28  2013 .bash_profile
        -rw-r--r--.  1 root root  176 Dec 28  2013 .bashrc
        drwx------.  4 root root   31 May  9  2018 .cache
        drwx------.  4 root root   30 May  9  2018 .config
        -rw-r--r--.  1 root root  100 Dec 28  2013 .cshrc
        drwx------.  3 root root   25 May  9  2018 .dbus
        -rw-r--r--.  1 root root 1694 May  9  2018 initial-setup-ks.cfg
        -rw-------.  1 root root   35 Nov 19 09:27 .lesshst
        -rw-r--r--.  1 root root  129 Dec 28  2013 .tcshrc
        -rw-------.  1 root root 3739 Nov 21 08:52 .viminfo
        -rw-------.  1 root root  134 Nov 27 20:33 .Xauthority
        [root@localhost ~]# ls -lA
        total 48
        -rw-------. 1 root root 1646 May  9  2018 anaconda-ks.cfg
        -rw-------. 1 root root 4264 Nov 27 10:30 .bash_history
        -rw-r--r--. 1 root root   18 Dec 28  2013 .bash_logout
        -rw-r--r--. 1 root root  176 Dec 28  2013 .bash_profile
        -rw-r--r--. 1 root root  176 Dec 28  2013 .bashrc
        drwx------. 4 root root   31 May  9  2018 .cache
        drwx------. 4 root root   30 May  9  2018 .config
        -rw-r--r--. 1 root root  100 Dec 28  2013 .cshrc
        drwx------. 3 root root   25 May  9  2018 .dbus
        -rw-r--r--. 1 root root 1694 May  9  2018 initial-setup-ks.cfg
        -rw-------. 1 root root   35 Nov 19 09:27 .lesshst
        -rw-r--r--. 1 root root  129 Dec 28  2013 .tcshrc
        -rw-------. 1 root root 3739 Nov 21 08:52 .viminfo
        -rw-------. 1 root root  134 Nov 27 20:33 .Xauthority
        
	-h, --human-readable:对文件大小单位换算;换算后结果可能会非精确值;
		[root@localhost ~]# ls -lh
        total 8.0K
        -rw-------. 1 root root 1.7K May  9  2018 anaconda-ks.cfg
        -rw-r--r--. 1 root root 1.7K May  9  2018 initial-setup-ks.cfg
        
	-d:查看目录自身而非其内部的文件列表;
		[root@localhost ~]# ls -ld /etc/sysconfig/
        drwxr-xr-x. 6 root root 4096 May  9  2018 /etc/sysconfig/
        [root@localhost ~]# ls -ld /var
        drwxr-xr-x. 20 root root 282 May  9  2018 /var

	-r: reverse, 逆序显示;
	    [root@localhost ~]# ls -l
        total 8
        -rw-------. 1 root root 1646 May  9  2018 anaconda-ks.cfg
        -rw-r--r--. 1 root root 1694 May  9  2018 initial-setup-ks.cfg
        [root@localhost ~]# ls -lr
        total 8
        -rw-r--r--. 1 root root 1694 May  9  2018 initial-setup-ks.cfg
        -rw-------. 1 root root 1646 May  9  2018 anaconda-ks.cfg
        
	-R: recursive,递归显示;
	    [root@localhost ~]# ls -R /tmp/
        /tmp/:
        a1  a2  beige  q_y  q_z  test  x_y  x_z
        
        /tmp/a1:
        a  aaaa  b
        
        /tmp/a1/a:
        
        /tmp/a1/b:
        
        /tmp/a2:
        
        /tmp/beige:
        a  bin  etc  sbin  usr  var

cat:concatenate

文件文本查看工具;
	cat /etc/fstab
	[root@localhost ~]# cat /etc/fstab 

    #
    # /etc/fstab
    # Created by anaconda on Wed May  9 09:16:30 2018
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=e72d0a11-4e6d-4864-b644-d9c54faee1d9 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-home /home                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    
	cat /etc/passwd
	[root@localhost ~]# cat /etc/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
   
cat [OPTION]... [FILE]...
	-n:给显示的文本行编号;
	-E: 显示行结束符$;
	[root@localhost ~]# cat -n /etc/inittab 
     1	# inittab is no longer used when using systemd.
     2	#
     3	# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
     4	#
     5	# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
     6	#
     7	# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
     8	#
     9	# multi-user.target: analogous to runlevel 3
    10	# graphical.target: analogous to runlevel 5
    11	#
    12	# To view current default target, run:
    13	# systemctl get-default
    14	#
    15	# To set a default target, run:
    16	# systemctl set-default TARGET.target
    17	#
[root@localhost ~]# cat -n -E /etc/inittab 
     1	# inittab is no longer used when using systemd.$
     2	#$
     3	# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.$
     4	#$
     5	# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target$
     6	#$
     7	# systemd uses 'targets' instead of runlevels. By default, there are two main targets:$
     8	#$
     9	# multi-user.target: analogous to runlevel 3$
    10	# graphical.target: analogous to runlevel 5$
    11	#$
    12	# To view current default target, run:$
    13	# systemctl get-default$
    14	#$
    15	# To set a default target, run:$
    16	# systemctl set-default TARGET.target$
    17	#$

tac:

tac [OPTION]... [FILE]...
文件文本查看工具(倒序查看);  
	tac /etc/fstab
    [root@localhost ~]# tac /etc/fstab 
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/mapper/centos-home /home                   xfs     defaults        0 0
    UUID=e72d0a11-4e6d-4864-b644-d9c54faee1d9 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    #
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    #
    # Created by anaconda on Wed May  9 09:16:30 2018
    # /etc/fstab
    #

file:

查看文件内容类型;
file [FILE]...
    [root@localhost ~]# file /etc/
    /etc/: directory
    [root@localhost ~]# file /etc/inittab 
    /etc/inittab: ASCII text

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

[root@localhost tmp]# mkdir -pv /tmp/a{1/{a,b},2}
mkdir: created directory ‘/tmp/a1’
mkdir: created directory ‘/tmp/a1/a’
mkdir: created directory ‘/tmp/a1/b’
mkdir: created directory ‘/tmp/a2’
[root@localhost ~]# mkdir -pv /tmp/{x,q}_{y,z}
mkdir: created directory ‘/tmp/x_y’
mkdir: created directory ‘/tmp/x_z’
mkdir: created directory ‘/tmp/q_y’
mkdir: created directory ‘/tmp/q_z’
[root@localhost ~]# tree /tmp/
/tmp/
├── a1
│   ├── a
│   └── b
├── a2
├── q_y
├── q_z
├── x_y
└── x_z

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

元数据信息包括:文件的大小,权限,属主属组,时间戳,inode等属性。
使用stat命令进行查看
stat命令:
stat - display file or file system status
stat FILE...

[root@localhost ~]# stat /etc/inittab 
  File: ‘/etc/inittab’
  Size: 511       	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 67584797    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2018-11-27 20:48:41.756740156 -0500
Modify: 2017-08-03 19:57:52.000000000 -0400
Change: 2018-05-09 09:19:49.652980165 -0400
 Birth: -


touch命令:
touch - change file timestamps

touch [OPTION]... FILE...
	-c: 指定的文件路径不存在时不予创建;
	-a: 仅修改access time;
	-m:仅修改modify time;
	-t STAMP
		[[CC]YY]MMDDhhmm[.ss]
		
[root@localhost tmp]# stat txt 
  File: ‘txt’
  Size: 6         	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 68157363    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2018-11-27 21:31:34.171067178 -0500
Modify: 2018-11-27 21:31:34.171067178 -0500
Change: 2018-11-27 21:31:34.171067178 -0500
 Birth: -
[root@localhost tmp]# touch -a txt
[root@localhost tmp]# stat txt 
  File: ‘txt’
  Size: 6         	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 68157363    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2018-11-27 21:31:54.010439894 -0500
Modify: 2018-11-27 21:31:34.171067178 -0500
Change: 2018-11-27 21:31:54.010439894 -0500
 Birth: -
[root@localhost tmp]# touch -m txt
[root@localhost tmp]# stat txt 
  File: ‘txt’
  Size: 6         	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 68157363    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2018-11-27 21:31:54.010439894 -0500
Modify: 2018-11-27 21:32:14.870831792 -0500
Change: 2018-11-27 21:32:14.870831792 -0500
 Birth: -

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

[root@localhost tmp]# touch tfile-$(date +%Y-%m-%d-%H-%M-%S)
[root@localhost tmp]# ls
tfile-2018-11-27-21-43-06
[root@localhost tmp]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 27 21:43 tfile-2018-11-27-21-43-06
[root@localhost tmp]# 

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

[root@localhost tmp]# mkdir /tmp/mytest1
[root@localhost tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1
[root@localhost tmp]# ls -l /tmp/mytest1/
drwxr-xr-x.  2 root root 4096 Nov 27 23:26 pam.d
-rw-r--r--.  1 root root 2056 Nov 27 23:26 passwd
-rw-r--r--.  1 root root 2056 Nov 27 23:26 passwd-
-rw-r--r--.  1 root root 1362 Nov 27 23:26 pbm2ppa.conf
-rw-r--r--.  1 root root 2872 Nov 27 23:26 pinforc
drwxr-xr-x. 10 root root  116 Nov 27 23:26 pki
drwxr-xr-x.  2 root root   28 Nov 27 23:26 plymouth
drwxr-xr-x.  5 root root   52 Nov 27 23:26 pm
-rw-r--r--.  1 root root 6300 Nov 27 23:26 pnm2ppa.conf
drwxr-xr-x.  2 root root    6 Nov 27 23:26 popt.d
drwxr-xr-x.  2 root root  154 Nov 27 23:26 postfix
drwxr-xr-x.  3 root root  219 Nov 27 23:26 ppp
drwxr-xr-x.  2 root root  105 Nov 27 23:26 prelink.conf.d
-rw-r--r--.  1 root root  233 Nov 27 23:26 printcap
-rw-r--r--.  1 root root 1795 Nov 27 23:26 profile
drwxr-xr-x.  2 root root 4096 Nov 27 23:26 profile.d
-rw-r--r--.  1 root root 6545 Nov 27 23:26 protocols
drwxr-xr-x.  2 root root   79 Nov 27 23:26 pulse
drwxr-xr-x.  2 root root   23 Nov 27 23:26 purple
drwxr-xr-x.  2 root root   35 Nov 27 23:26 python
[root@localhost tmp]# ls -ld /etc/p*[^0-9]
drwxr-xr-x.  2 root root 4096 May  9  2018 /etc/pam.d
-rw-r--r--.  1 root root 2056 May  9  2018 /etc/passwd
-rw-r--r--.  1 root root 2056 May  9  2018 /etc/passwd-
-rw-r--r--.  1 root root 1362 Jun  9  2014 /etc/pbm2ppa.conf
-rw-r--r--.  1 root root 2872 Jun 10  2014 /etc/pinforc
drwxr-xr-x. 10 root root  116 May  9  2018 /etc/pki
drwxr-xr-x.  2 root root   28 May  9  2018 /etc/plymouth
drwxr-xr-x.  5 root root   52 May  9  2018 /etc/pm
-rw-r--r--.  1 root root 6300 Jun  9  2014 /etc/pnm2ppa.conf
drwxr-xr-x.  2 root root    6 Jun 10  2014 /etc/popt.d
drwxr-xr-x.  2 root root  154 May  9  2018 /etc/postfix
drwxr-xr-x.  3 root root  219 May  9  2018 /etc/ppp
drwxr-xr-x.  2 root root  105 May  9  2018 /etc/prelink.conf.d
-rw-r--r--.  1 root root  233 Jun  7  2013 /etc/printcap
-rw-r--r--.  1 root root 1795 Nov  5  2016 /etc/profile
drwxr-xr-x.  2 root root 4096 May  9  2018 /etc/profile.d
-rw-r--r--.  1 root root 6545 Jun  7  2013 /etc/protocols
drwxr-xr-x.  2 root root   79 May  9  2018 /etc/pulse
drwxr-xr-x.  2 root root   23 May  9  2018 /etc/purple
drwxr-xr-x.  2 root root   35 May  9  2018 /etc/python

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

[root@localhost tmp]# useradd -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack tom
[root@localhost tmp]# id tom
uid=5001(tom) gid=1002(tom) groups=1002(tom),1001(jack)
[root@localhost tmp]# tail -1 /etc/passwd
tom:x:5001:1002::/tmp/tom:/bin/zsh

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

/etc/group    用户组数据库文件
			group:password:gid:user_list
			
groupadd命令:添加组

	groupadd [选项] group_name

		-g GID:指定GID;默认是上一个组的GID+1;
		-r: 创建系统组;
		[root@localhost ~]# groupadd -g 5000 beibei
        [root@localhost ~]# tail -1 /etc/group
        beibei:x:5000:
        [root@localhost ~]# tail -1 /etc/group
        sysgroup:x:986:
		
groupmod命令:修改组属性

	groupmod [选项] GROUP
		-g GID:修改GID;
		-n new_name:修改组名;
		[root@localhost ~]# cat /etc/group|grep beibei
        beibei:x:5000:
        [root@localhost ~]# groupmod -g 5001 beibei
        [root@localhost ~]# cat /etc/group|grep beibei
        beibei:x:5001
        [root@localhost ~]# groupmod -n newbeibei beibei
        [root@localhost ~]# cat /etc/group|grep beibei
        newbeibei:x:5001:
        [root@localhost ~]# 
        

groupdel命令:删除组

	groupdel [选项] GROUP

useradd命令:创建用户

	useradd [选项] 登录名
		-u, --uid UID:指定UID;
		-g, --gid GROUP:指定基本组ID,此组得事先存在;
		-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
		-c, --comment COMMENT:指明注释信息;
		-d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
		-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
		-r, --system:创建系统用户;

	注意:创建用户时的诸多默认设定配置文件为/etc/login.defs		

	useradd -D:显示创建用户的默认配置;
	useradd -D 选项: 修改默认选项的值;

		修改的结果保存于/etc/default/useradd文件中;

usermod命令:修改用户属性

	usermod [选项] 登录
		-u, --uid UID:修改用户的ID为此处指定的新UID;
		-g, --gid GROUP:修改用户所属的基本组;
		-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;
		-a, --append:与-G一同使用,用于为用户追加新的附加组;
		-c, --comment COMMENT:修改注释信息;
		-d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
		-m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
		-l, --login NEW_LOGIN:修改用户名;
		-s, --shell SHELL:修改用户的默认shell;

		-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
		-U, --unlock:解锁用户的密码;

userdel命令:删除用户

	userdel [选项] 登录
		-r:删除用户时一并删除其家目录;

练习1:创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);
	[root@localhost ~]# tail /etc/group
    ntp:x:38:
    stapusr:x:156:
    stapsys:x:157:
    stapdev:x:158:
    tcpdump:x:72:
    bei:x:1000:bei
    jack:x:1001:
    sysgroup:x:986:
    distro:x:5000:
    peguin:x:5001:
    [root@localhost ~]# useradd -u 4001 -G distro,peguin gentoo
    [root@localhost ~]# id gentoo
    uid=4001(gentoo) gid=4001(gentoo) groups=4001(gentoo),5000(distro),5001(peguin)
    
练习2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;
    [root@localhost ~]# clear
    [root@localhost ~]# useradd -c "Fedora Core" -s /bin/tcsh fedora
    [root@localhost ~]# id fedora
    uid=4002(fedora) gid=4002(fedora) groups=4002(fedora)
    [root@localhost ~]# tail -1 /etc/passwd
    fedora:x:4002:4002:Fedora Core:/home/fedora:/bin/tcsh
    
练习3:修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问;
    [root@localhost ~]# usermod -d /var/tmp/gentoo gentoo
    [root@localhost ~]# cat /etc/passwd|grep gentoo
    gentoo:x:4001:4001::/var/tmp/gentoo:/bin/bash
    [root@localhost ~]# cd /home/gentoo/
    [root@localhost gentoo]# pwd
    /home/gentoo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值