目录
/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b
,在/tmp
目录下创建目录:x_y, x_z, q_y, q_z
/tmp
目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
。/etc
目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1
目录中。/tmp/tom
, 指定shell为/bin/zsh
, 指定基本组为tom
,附加组为jack
文件系统操作命令-目录
ls查看文件或目录的工具
用法:ls
[选项]...[文件]...
-l
出文件名之外,列出文件的类型、权限、所有者、所属组、文件大小、修改时间等详细信
-a
显示所有以.开关的项目
-A
列出除.及..以外的斜体项目
-R
递归列出目录内容,若目录下有文件或子目录,则以下所有文件皆按序列出
-n
类似-l
,但列出UID及GID号
-F
在列出的文件名后加一个符号,去区分文件类型;例如*
代表可执行文件;/
代表是目录;@
代表链接文件;普通文件之后不加符号
实例:
[root@etcd01 opt]# ls -alF
total 4415492
drwxr-xr-x. 5 root root 88 Mar 19 01:41 ./
dr-xr-xr-x. 20 root root 4096 Mar 13 20:49 ../
-rw-r--r-- 1 root root 4521459712 Dec 6 17:25 CentOS-7.4-x86_64-DVD-1708.iso
drwx--x--x 4 root root 26 Feb 27 22:38 containerd/
drwxr-xr-x 5 root root 36 Mar 13 11:17 etcd
drwxr-xr-x 5 root root 36 Mar 19 01:41 kubernetes/
cd
更改目录,切换目录
用法:cd
目标目录
【选项】:
. 当前目录
..父目录
cd .. 切换到父目录,切换到上一级目录
cd 切换到当前用户家目录
cd ~ 切换到当前用户家目录
cd - 返回上一次所处的目录
cd ?类似于cd “test” 命令中的双引号(也可以是单引号);切换到名称带有空格的目录
实例:
[root@etcd01 ~]# cd /opt/
[root@etcd01 opt]# cd kubernetes/
[root@etcd01 kubernetes]# cd -
/opt
pwd
显示当前所处的目录
【选项】
pwd -p
显示实际的工作目录,而非使用链接路径
[root@etcd01 opt]# pwd -P
/opt
mkdir
1创建目录
【选项】
mkdir
只能在已存在的目录下创建目录
mkdir -p
帮助你直接将所需的目录递归创建起来。(在一个不存在的上级目录里面创建目录)
rmdir
删除空目录
【选项】
rmdir
只能删除空目录
rmdir -p
递归删除空目录
rm
删除文件或目录
【选项】
rm
只能删除文件
rm -r
删除目录及目录下的项目(文件和目录)
rm -f
不提示强制删除
【实例1】
rm -rf *
强制删除所有文件,但是不包含隐藏文件。谨慎使用!!!!
【实例2】
同时删除多个文件或目录
每个项目以空格隔开
[root@etcd01 tmp]# rm -rf {a,b,c}
mv
移动文件或目录
mv
原文件路径 目标文件路径 移动
【选项】
-f
不提示并覆盖文件
-n
不覆盖已存在文件
-b
覆盖之前把原文件做备份,备份的文件在文件名之后有个~符号
-u
只有原文件比覆盖的文件新的时候才可以覆盖文件;旧文件不能覆盖新文件
du
显示目录的磁盘使用情况
du
查看目录或文件大小
-a
或--all
显示目录中个别文件的大小
-b
或--bytes
显示目录或文件时,以byte为单位.
-c
或--total
除了显示个别目录或文件的大小外,同时民显示所有目录或文件的总和
-D
或--dereference-args
显示指定符号连接的源文件大小
-h
或--human-readable
以K,M,G为单位,提高信息的可读性
-H
或--si
与-h
参数相同,但是K,M,G是以1000为换算单位
-k
或--kilobytes
以1024 bytes为单位
-l
或--count-links
重复计算硬件连接的文件
-L
<符号连接>或--dereference
<符号连接>显示选项中指定符号连接的源文件
-m
或--megabytes
以1MB为单位
-s
或--summarize
仅显示总计
-S
或--separate-dirs
显示个别目录的大小时,并不含其子目录的大小
-x
或--one-file-xystem
以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过
-X
<文件>或--exclude-from=<文件>
在<文件>指定目录或文件
--exclude=<目录或文件>
略过指定的目录或文件
--max-depth=<目录层数>
超过指定层数的目录后,予以忽略。
--help
显示帮助
--version
显示版本信息
实例
[root@etcd01 kubernetes]# ls
bin cfg ssl
[root@etcd01 kubernetes]# du -h --exclude=bin
16K ./cfg
16K ./ssl
df
查看所有已挂载磁盘使用情况
实例
[root@etcd01 kubernetes]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 46G 29G 18G 62% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 704M 7.1G 9% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda1 497M 158M 340M 32% /boot
/dev/loop0 4.3G 4.3G 0 100% /mnt/cdrom
tmpfs 1.6G 0 1.6G 0% /run/user/0
注解
第一列: 文件系统对应的磁盘分区
第二列:分区的总空间大小,含的数据块的数据
第三列:已使用空间大小
第四列:未使用空间大小
第五列:用户空间使用的百分比
第六列: 文件系统的挂载点
/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b
,在/tmp
目录下创建目录:x_y, x_z, q_y, q_z
实例
[root@etcd03 /]# 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@etcd03 /]# 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’
元数据信息:
file
:文件名;
size
:文件大小
block
:文件占了多少个数据块
IO Block
:文件所占数据块的块大小
Device
:硬件,既说明该文件在硬盘的那个柱面
Inode
:文件Inode号,文件的索引节点号
links
:链接
Access
:文件权限
Uid
:该文件所属的属主
Gid
:该文件所属的属组
context
:安全上下文
Access
(第二个):文件上一次的访问时间
Modify
:文件上一次修改的时间
Change
:文件上一次属性更改的时间
查看文件元数据的方法:
stat命令:
stat [OPTION]... FILE...
[root@etcd03 ~]# stat /etc/issue
File: ‘/etc/issue’
Size: 23 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 67192987 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-04-08 09:42:19.438089565 +0800
Modify: 2017-08-30 23:53:07.000000000 +0800
Change: 2018-04-16 15:26:42.557988341 +0800
Birth: -
修改文件的时间戳方法:
touch命令:用于改变文件时间戳,如果文件不存在则创建一个空文件
touch [OPTION]... FILE...
-c:指定的文件路径不存在时不予创建:
-a:仅修改access time:
-m:仅修改modify time:
-t STAMP:
[[CC]YY]MMDDhhmm[.ss] 年月日时分秒
touch -m -t 200212010303.03
/tmp
目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
。实例
[root@etcd03 tmp]# touch `date +%Y-%m-%d-%H-%M-%S`
[root@etcd03 tmp]# ls
2019-04-08-18-14-06
/etc
目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1
目录中。实例
[root@etcd03 tmp]# mkdir mytest1
[root@etcd03 tmp]# cp -rv /etc/p*[^0-9] mytest1/
/tmp/tom
, 指定shell为/bin/zsh
, 指定基本组为tom
,附加组为jack
实例
[root@etcd03 tmp]# groupadd jack
[root@etcd03 tmp]# useradd -u 5001 -d /tmp/tom/ -s /bin/zsh -G jack tom
[root@etcd03 tmp]# cat /etc/passwd grep tom
[root@etcd03 tmp]# cat /etc/passwd |grep tom
tom:x:5001:5001::/tmp/tom/:/bin/zsh
[root@etcd03 tmp]# id tom
uid=5001(tom) gid=5001(tom) groups=5001(tom),1003(jack)
useradd、userdel、usermod、passwd、groupadd、groupdel、groupmod、gpasswd、chage、chsh、id、su
useradd
命令:创建用户
useradd [OPTION] USER
-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:创建系统用户;
userdel
命令:删除用户
userdel [OPTION] USER
-r:删除用户时一并删除其家目录;
usermod
命令:修改用户属性
usermod [OPTION] USER
-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:解锁用户的密码;
passwd
命令:修改用户密码
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
(1) passwd:修改用户自己的密码;
(2) passwd USERNAME:修改指定用户的密码,但仅root有此权限;
-l, -u:锁定和解锁用户;
-d:清除用户密码串;
-e DATE: 过期期限,日期;
-i DAYS:非活动期限;
-n DAYS:密码的最短使用期限;
-x DAYS:密码的最长使用期限;
-w DAYS:警告期限;
--stdin:
echo "PASSWORD" | passwd --stdin USERNAME
groupadd
命令:添加组
groupadd [OPTION] group_name
-g GID:指定GID;默认是上一个组的GID+1;
-r: 创建系统组;
groupdel
命令:删除组
groupdel [OPTION] GROUP
groupmod
命令:修改组属性
groupmod [OPTION] GROUP
-g GID:修改GID;
-n new_name:修改组名;
gpasswd
命令:管理组
组密码文件:/etc/gshadow
gpasswd [OPTION] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
chage
命令:更改用户密码过期信息
chage [OPTION] 登录名
-d
-E
-W
-m
-M
id
命令:显示用户和所属群组的实际与有效ID
id [OPTION]... [USER]
-u: 仅显示有效的UID;
-g: 仅显示用户的基本组ID;
-G:仅显示用户所属的所有组的ID;
-n: 显示名字而非ID;
su
命令:切换用户
登录式切换:会通过读取目标用户的配置文件来重新初始化
su - USERNAME
su -l USERNAME
非登录式切换:不会读取目标用户的配置文件进行初始化
su USERNAME
注意:管理员可无密码切换至其它任何用户;
-c 'COMMAND':仅以指定用户的身份运行此处指定的命令;
原文:https://www.cnblogs.com/linux-timke/p/10674316.html