Table of Contents
-
常见文件管理命令
-
cp
- 用法
- 选项
-
mv
- 用法
- 选项
-
rm
- 用法
- 选项
-
命令行展开
-
按列表展开
- 形式
- 示例
-
按数字次序展开
- 形式
- 示例
-
文件元数据
- stat
-
thouch
- OPTION
- 创建文件
-
用户,组命令
-
groupmems
- 形式
- OPTION
-
groupadd
- 形式
- OPTION
-
groupmod
- 形式
- OPTION
-
groupdel
- 形式
-
useradd
- 形式
- OPTION
- 示例
- newusers
-
usermod
- 形式
- OPTION
-
userdel
- 形式
- OPTION
- passwd
-
chpasswd
- 形式
- FILE格式
- gpasswd
- newgrp
- chage
- id
-
su:switch user
- 形式
- OTPION
常见文件管理命令
cp
用法
# 单源复制
cp [OPTION]... [-T] SOURCE DEST
# 多源复制
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
单源复制:
- 如果 DEST 不存在:
则创建文件,并复制文件;
- 如果 DEST 存在:
- 如 DEST 非目录:则覆盖目标文件;
- 如 DEST 是目录:则复制到目录;
多源复制:
- 如果 DEST 不存在:
则出错
- 如果 DEST 存在:
- 如 DEST 是目录:则多个文件分别复制到目标目录;
- 如 DEST 非目不:则出错;
选项
- -i:交互式确认;
- -f:强制覆盖目录;
- -r,-R:recursive,递归复制目录
- -d:如源文件为符号链接则只复制链接;
- -a: -dR –preserve=all
- –preserve=
- mode
- ownership
- timestamps
- context:安全标签
- xattr:扩展属性
- links
- all
mv
用法
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
选项
rm
用法
rm [OPTION]... FILE...
删除开头带‘-‘的文件可用:
rm -- -FILE
选项
命令行展开
按列表展开
形式
COMMAND {x1,x2,x3,...}
等价于
COMMAND x1 x2 x3 x4
示例
创建文件夹:
/tmp/a1
/tmp/a2
/tmp/a1/a
/tmp/a1/b
mkdir /tmp/a{1,2}
mkdir /tmp/a1/{a,b}
按数字次序展开
形式
COMMAND {#1..#2..#3}
从#1以#3为步距到#2,展开
示例
echo {1..9..2}
等价于
echo 1 3 5 7 9
文件元数据
元数据就是保存数据的各种描述信息的数据.
在文件系统中,每个文件被分配一个inode号.这个inode号指向磁盘上对应标识inode
号的节点上保存了文件的大小,名称,权限,所属…这些是元数据.最后用几个结构指向了真正保
存的数据的块号.
stat
这个命令后面加上文件就可以显示元数据
stat FILE
例如,这是我对我的目录使用的 stat .
File: .
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 10304h/66308d Inode: 12322085 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1000/ chao) Gid: ( 1000/ chao)
Access: 2019-10-12 16:06:39.433486412 +0800
Modify: 2019-10-12 16:19:23.867856929 +0800
Change: 2019-10-12 16:19:23.867856929 +0800
Birth: -
- File: 表示文件名
- Size: 表示大小
- Blocks: 表示所占的块
- IO Block: 表示一个块的大小
- directory: 表示这是一个目录
- Inode: 表示Inode号
- Links: 表示硬链接次数
- Access: 表示权限0775是个八进制数
- Uid: 属主的UID和名字
- Gid: 属组的GID和名字
- 下面的Access:是最后一次的查看时间
- Modify: 为更改文件数据的时间
- Change: 表示元数据被更改的时间,一般和modify相同或在它之后
thouch
这个命令用于更改时间,可以是Access或Modify.每使用一次Change就会变为当前的
时间.此命令同样能创建文件
touch [OPTION]... FILE...
修改文件的时间戳。
OPTION
- -c:文件不存在时不创建文件
- -a:修改 access time
- -m:修改 modify time
- -t:指定要改为的时间
[[CC]YY]MMDDhhmm[.ss]
创建文件
件多情况下,创建文件要加上时间,以区分.特别是日志文件.
故可以和 date
命令合用
touch FILE-$(date)
例子:
在/tmp下创建tfile-年-月-日-时-分-秒
touch /tmp/tfile-$(date +%F-%H-%M-%S)
用户,组命令
进程以发起者的身份运行,进程的权限取决于发起者的权限。
系统用户:为让后台进程或服务类进程以非管理员身份运行,需要为此创建多个普通用户,这些用户不登录。
groupmems
形式
groupmems [options] group
OPTION
- -a:从组中增加用户
- -d:从组中删除用户
- -g:指定组
groupadd
形式
groupadd [options] group
OPTION
- -g:指定 GID
- -p:指定组密码
- -r:创建系统组
groupmod
形式
groupmod [options] group
OPTION
groupdel
形式
groupdel [options] group
useradd
形式
useradd [options] username
OPTION
- -u:指定 UID
- -g:指定基本组 GID
- -G:指定附加组,多个组可用‘,‘分隔
- -c:注释
- -d:指定家目录,通过复制/etc/skel 并重命名,如目录已存在则不复制
- -s:指定 shell
- -r:创建系统用户
- -M:不为用户创建主目录
- -D:显示或修改创建用户的默认值
修改的结果位于/etc/default/useradd
配置文件位于/etc/login.defs
示例
创建用户tom,指定UID为5001,指定家目录为/tmp/tom,指定shell为/bin/zsh,
指定基本组为tom,附加组为jack.
useradd -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack tom
newusers
newusers FILE
FILE中内容与passwd格式一样,用于批量新建用户;
usermod
形式
usermod [options] username
OPTION
- -u:修改 UID
- -g:修改基本组 GID
- -G:修改附加组,多个组可用‘,‘分隔
- -aG:追加附加组,多个组可用‘,‘分隔
- -c:修改注释
- -d:修改家目录,原有文件不会转移到新位置
- -md:修改家目录,原有文件会转移到新位置
- -l:修改用户名
- -s:修改 shell
- -L:锁定用户密码
- -U:解锁用户密码
userdel
形式
userdel [options] username
默认不删家目录
OPTION
passwd
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
- passwd:修改用户自己的密码;
- passwd USERNAME:更改指定用户的密码;
- -l,-u:分别锁定和解锁用户;
- -d:清除用户的密码;
- -e:过期期限,日期;
- -i:非活动期限,天数;
- -n:密码的最短使用期限;
- -x:密码的最长使用期限;
- -w:警告期限;
- –stdin:密码的输入变为标准输入;
chpasswd
形式
cat FILE | chpasswd
FILE格式
user1:password1
user2:password2
….
gpasswd
passwd [options] group
newgrp
newgrp [-] [group]
-:模拟用户重新登录
临时切换到 group
chage
更改用户密码过期信息
chage [options] username
- -d:设置用户最后更改密码时间
- -E:设置用户可以使用的最后期限
- -W:设置提示用户更改密码的时间
- -m:设置下一次更改密码的最短时间
- -M:设置下一次更改密码的最大时间
- -l:列出所有时间
id
显示用户有效 ID
id [OPTION]... [USER]
- -u:仅显示 UID
- -g:仅显示甩户的基本组 GID
- -G:显示用户所属所有 GID 列表
- -n:显示名字而非 ID
su:switch user
形式
登录式切换:重新初始化用户的配置文件来初始化
su - USERNAME
su -l USERNAME
非登录式切换:不会读取用户配置文件初始化
su USERNAME
OTPION
- -c ‘COMMAND‘:仅以指定用户的身份运行此外命令;