一、Linux系统上常见的文件管理类命令
文件查看类命令
1.cat
cat 可以查看文本文件内容
cat a.sh
其中 -n 输出行号 cat -n /etc/fstab
-A 查看行结束符
合并文件内容 cat /etc/fstab /etc/init.d/network >> /tmep/test.file
2.less/more
都是可以一页一页地查看文件
less /etc/init.d/network
pgup/pudn b/f 向上/下翻页
/STRINT 查找字符串STRINT
n 查找下一个
3.head
查看文件前n行,默认为10行
-n 指定前n行 head -11 /etc/init.d/network
4.tail
查看文件的后n行,默认为10行
-n 指定后n行,tail -11 /etc/init.d/network
特殊用法
tail -f /var/log/httpd/access_log 持续追踪文件追加内容,主要来用查看日志文件
建立文件 touch,vi,nano,nano等
删除文件 rm -rf
复制文件
1.cp
cp 源文件 目标文件
复制的只能是文件,可以一个或多个
cp /etc/init.d/network /etc/init.d/functions /tmp/
但是如果复制多个文件,后面的只能是目录,如果复制一个文件,后面的可以是一个文件
-f 覆盖复制
-r 复制目录及下面所有文件
-a 复制时保留原属性,比如属主属主,三维时间戳,主要用于归档文件
2.install
install source target 比如 install /etc/grub2.cfg /tmp/
复制过去后默认权限是755。假如chmod命令丢失,可用scp从其他主机复制来后再用install复制,这样就有执行权限了
-m 指定权限 install -m 000 /etc/grub2.cfg /tmp/
3.文件查找
locate 根据数据库匹配,速度快,使用简单,非实习
find 因find命令复制,故单独用一篇来讲
4.移动/重全名文件
mv file to file2
mv /etc/init.d/network /etc/init.d/network.bak
mv /etc/init.d/network /tmp
5.新建目录
mkdir -p 级联建立目录,如果目录已存在则跳过,如果不存在则建立
mkdir -pv /usr/local/tmp/src/httpd
6.移动/重命名/删除和文件一样
二、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -pv /tmp/a1 && touch /tmp/a{1/{a,b},2}
touch /tmp/{x,q}_{y,z}
三、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的数据流分为两种,一种是文件内容,另一种是文件元数据
元数据共有十三个,简称十三元,也是《红楼梦》韵的名称
1.文件名称
2.文件大小
3.所在数据块
4.系统IO块大小,一般是4096k
5.文件类型
6.文件所在Inode
7.硬连接数
8.权限
9.UID
10.GID
11.最近一次访问时间戳
12.最近一次改变文件内容的时间
13.最近一次改变元数据的时间
查看文件元数据 stat file
stat /dev/sr0
如果改变文件元数据?
touch file 改变文件三个时间戳
-a access,改变访问时间,但同时会改变最近一次改变元数据的时间
-m modify,改变修改文件内容时间,但同时会改变最近一次改变元数据的时间
四、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-`date +"%F-%H-%M-%S"`
五、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir -p /tmp/mytest1
cp -r /etc/p*[^[:digit:]] /tmp/mytest1
六、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
setenforce 0
groupadd jack
useradd -u 5001 -d /tmp/tom -s /bin/zsh -G jack tom
七、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
什么是用户?用户就是计算机对使用者的唯一标识。
为什么要有用户?因为所有进程只有用户才能运行,没有运行的进程只是一个静止的文件 。无论何时何地只有用户才能登陆系统,才能使用计算机资源。
用户格式如下:用:分隔,没有就空白。
用户名:X:UID:GID:注释:家目录:shell
ajxzl:x:1000:1000:ajxzl:/home/ajxzl:/bin/bash
slackware:x:1001:1001::/home/slackware:/bin/tcsh
用户名:用户能见的登陆名
X:密码。已放在/etc/shadow文件中。X用来占位。
UID:计算机能识别的唯一标识。同GID样:0为root.1—999为系统用户。1000—60000普通用户。60000保留。
系统用户是什么?因为所有的进程都必须得有属主也就是必须得属性某个用户。为了能让某些进程开机启动或者后台进程,所以分配了用户就叫系统用户。这些用户从来不能登陆系统。纯粹只是为了运行某进程。
GID:用户基本组。GID值和UID值一样,名字也一样。
家目录:登陆时默认目录
shell:默认登陆shell
useradd 增加用户。
useradd [选项] 用户名
useradd ajxzl
-u UID useradd -u 3001 ajxzl2
-r 系统用户 useradd -r ajxzl3
-g GID 基本组GID.但是这个组必须得事先存在 useradd -g 1000 ajxzl4
-G GID 附加组GID,同样这个组必须得事先存在 useradd -G 1001 ajxzl5
-c 注释 useradd -c "This is a testusre" ajxzl6
-d directory 用户家目录。 useradd -d /tmp/ajxzl7 ajxzl7 默认/home/USER_NAME
假如用户家事先已存在,则不会复制模板文件到家目录。
家目录模板文件 /etc/skel/
修改这个目录内容就会影响所有新增用户家目录内容。
-s shell_name 设定用户shell。默认为/bin/bash.查看所有shell:cat /etc/shells
默认shell在哪设定?/etc/default/useradd 新增用户默认选项
useradd -s /bin/cash ajxzl8
-M 不创建家目录 useradd -M ajxzl10
注意-r也是不会创建家目录的。
用户密码管理
密码管理文件:/etc/shadow,格式如下.man 5 shadow
ajxzl9:$6$/DjwtprZ$sZ/Vw4d9.8hBGLkYCl7yaqMhKqXeIVAisTGVZ53o4v5AsY4HCSE0HqP5y7d2.K/FaaHzbuKTklXVrCMgbB3Bf.:17823:0:99999:7:::
用户名:加密之后的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码过期恕限时间:账户过期时间:保留字段
共9个字段。
用户名:用户登陆名
密码:密码。可以为空,表示不要密码。如果为*或者!表示禁止通过密码登陆。
最近一次密码修改日期:
密码最小使用期:0表示未 设置
最长使用期:99999
警告日期:表示密码到了最长使用期后的警告天数
密码禁用日期:表示过了过了警告期仍然没有改密码的使用天数。到了这个天数就会禁止使用密码登陆,但可能用其他方式登陆。
账号禁用期:禁止登陆。
保留字段
修改用户:usermod [动作] username
-ag 增加附加组
-d 家目录
-m 修改家目录后移动数据到新家目录
-L 锁定用户,使之不能登陆
-U 解锁用户
删除用户 userdel –r username
passwd :命令。更改用户密码
-l/-u 锁定/解锁用户密码
-d 清空用户密码
id命令:查看用户信息
-u 只看uid
-g 只看gid
-n 结果以名字显示
newgrp group_name 切换用户基本组
finger 显示用户登陆信息
pwck:默认按照/etc/passwd检查用户各项。
正确的字段数
一个唯一且有效的用户名
一个有效的用户和组标识符
有效的主组
有效的主目录
有效的登录 shell pwck shadow 检查用户密码是否有效,是否过期等。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31560876/viewspace-2221549/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31560876/viewspace-2221549/