1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
pwd:显示工作目录
cd: 切换目录
不带参数或者~,回到家目录
cd:~USERNAME:切换指定的家目录
cd -:上一个目录
$PWD:存放当前工作目录的环境变量
$OLDPWD:上一次工作目录的环境变量
ls:list,列出指定目录下的内容
-a 所有文件,包括隐藏文件
-A 除.和..之外的文件
-l --long,长格式,文件详细显示信息
# ls
-rw-------. 1 root root 1684 Jul 30 23:21 anaconda-ks.cfg
-:文件类型:-,d,b,c,l,s,p
前三位:属主权限
中三位:属组权限
后三位:其他用户的权限
1:数字表示文件被硬连接的次数:
root:属主
root:属组
1684: 大小
Jul 30 23:21:文件最近一次更新时间
-h 文件大小格式化
-d 查看目录自身属性,而不是目录下的
-r reverse 逆序排序显示
-R recursive 递归显示
cat concatenate
只能看文本文件,不要看二进制文件
file Command
-n 给显示的文本和统一编号
-E 显示行结束符$
tac:
cat的逆序文本查看命令
which 查看命令的路径
whereis 搜搜文件
who 查看谁在登录
w 显示谁在登录并且在干啥
文件查看命令
cat
more 向后翻页至末尾自动退出
less
head: 文件前10行默认
-n 20 看前20行或者 -20
tail 命令默认后10行
-f 实时显示新的内容
stat:显示文件或文件系统的状态
touch
-a 修改访问事件
-m 修改更改时间
-t 更改指定时间
cp,mv,rm
cp命令:copy
源文件:目标文件
cp [OPTION]... [-T] SOURCE DEST 单源复制
如果dest不存在,则创建,后复制数据流至dest文件中,
如果存在:
如果dest是非目录文件,则覆盖目标文件
如果dest是目录文件,则先在dest目录下创建个相同的目录,并复制数据流
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE... 多源复制
如果dest不存在,不允许
如果存在
如果dest是非目录文件,不予许
如果是dest是目录文件,分别复制
-i 覆盖之前提醒用户交互
-f 强行覆盖
-r 递归复制
-d 如果符号链接文件本身,而非其指向的源文件
-a -dR 递归调用并复制所有 备份用的
--preserv=
mode:权限
ownership:属主和属组
mv 移动 重命名
-i
-f
rm 移除 删除
-r 递归删除
-rf 强行删除
所有不用的文件建议移动到某个专用目录
file:查看文件内容类型
echo:回显示
echo [SHORT-OPTION]... [STRING]
-n:不自动换行
-e:使转移符生效 \n换行 \t制表 tab
STRING 可以用单双银行
单引号:强引用,变量引用不替换
双引号:强引用,变量引用会被替换
如:# echo "$SHELL" 和 echo '$SHELL'
变量引用的正规符号是${}
2、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -p /tmp/{a1/{a,b},a2}
mkdir -p /tmp/{x,q}_{y,z}
3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
用stat 命令
[root@centos7 tmp]# stat /tmp
文件名: ‘/tmp’
大小: 4096 块: 8 IO 块: 4096 directory-文件类型-这是一个目录文件
设备: 805h/2053d Inode: 67160136 硬链接: 19
权限: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:tmp_t:s0
访问时间: 2019-08-18 22:23:58.887258435 +0800
更改日期: 2019-08-18 22:23:53.953258910 +0800
变更日期: 2019-08-18 22:23:53.953258910 +0800
Birth: -
touch
-a 修改访问事件
-m 修改更改时间
-t 更改指定时间
4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
mkdir /tmp/tfile$(date +%Y-%m-%d-%H-%M-%S)
5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1
cp -r /etc/p*[^0-9] /tmp/mytest1
6、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
groupadd tom
groupadd jack
useradd tom -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack
7、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
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:创建系统用户;
userdel 删除用户
-r 删除用户和他家
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:解锁用户的密码;
passwd
修改密码
-l, -u:锁定和解锁用户;
-d:清除用户密码串;
-e DATE: 过期期限,日期;
-i DAYS:非活动期限;
-n DAYS:密码的最短使用期限;
-x DAYS:密码的最长使用期限;
-w DAYS:警告期限;
groupadd
添加组
-g GID:指定GID;默认是上一个组的GID+1;
- r: 创建系统组;
groupdel
删除组
groupmod
修改组属性
gpasswd
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
chage
更改用户密码过期信息
id
显示用户和所属群组的实际与有效ID
su
切换用户