*cat#查看文件内容,输出文件内容到屏幕上
-n 由1开始,对所有输出的行数编号
-s 禁止重复的空输出行
tac#到着输出文件内容,也是到屏幕
wc#统计指定文件中的字节、字数、行数、并将统计结果显示输出
-c:统计字节数
-l:统计行数
-m:统计字符数,不能与-c一起使用
-w:统计字数.一个字被定义为空白,跳格或换行字符分隔的字符串
sort#排序
-f :忽略大小写的差别
-b :忽略最前面的空字符部分
-n :使用纯数字进行排序(默认是以文字形态来排序的)
-r :反向排序
-u :就是uniq,相同的数据中,仅出现一行代表
-t :分隔符,默认是用[tab]键来分隔
-k :以那个区间()来进行排序的意思
uniq #忽略或报告重复行
-i :ignore-case忽略字母大小写
cut #可以从一个文本文件或者文本流中提取文本列
tee #读取标准输入的数据,并将其内容输出成文件
history # 查看执行过的命令
history 5 最近的5条命令
!5 加数字,相当于执行序号为5的命令
!py 相当于执行最后条以py开头的命令
more #查看文件内容
less #查看文件内容
head #输出文件的开始的部分,可以指定行数,默认显示10行
*tail #查看文件尾部的内容,默认显示最后10行
tailf=tail -f
tail -f file #动态监控文件变更 *可以监控日志文件
*which #查找其他命令的位置
如: which ls
用户和用户组
用文件保存用户信息
文件
/etc/password 用户信息 #man 5 passwd 格式信息
/etc/shadow 安全用户账户信息 #man 5 shadow密码的信息
/etc/group 组账户信息
/etc/gshadow 安全组账户信息
/etc/default/ 账户创建的默认值
/etc/skel/ 包含默认文件的目录
/etc/login.defs shadow 密码套件配置
如:passwd
wenson(登录的用户名):x(密码):1000(用户的uid):1000(用户组的gid):wenson,,,(用户名的描述)
:/home/wenson(用户的主目录):/bin/bash(shell bash csh ksh zsh tcsh)
如:shadow
wenson:$6$ozpKao3q$.AWdKF4xtZTRLYwCmsASd15ApHmfaD1antkuCGxV2kTgmumZpZpDv9y3WCI/Yks6fnWv4YjzlyZ17f.ly1p5U.(加密密码)
:17722(最后一次更改密码的日期):0(密码的最小年龄):99999(最大密码年龄):7(密码警告时间段):(密码禁用期):账户过期日期:(保留)
更换用户
su - 用户名 #su - wenson#加载用户环境配置
su 用户名 快速切换
sudo:让用户暂时以管理员身份root用户执行命令#配置文件在/etc/sudoers.通过修
#改配置文件可以让定用户使用sudo命令
Ubuntu默认没有启用root用户
useradd 添加用户
-c 加备注,在/etc/passwd中的第5项字段中
-d 用户主文件夹
-e 有效期限,格式为YYYY-MM-DD,存储在/etc/shadow
-f 缓冲天数.密码过期多少天后禁用账户
-g 主要组,设置用户属于那个组
-G 次要组
-M 强制不创建主文件夹
-m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户根目录下
-p 密码 加密码
-s shell
-u uid,指定账号标志符user id ,简称:uid
如:useradd -m -s /bin/bash user1
userdel:删除用户
-r --remove 用户主目录中的文件将随用户主目录和用户邮箱一起删除,在其它文件系统中的文件必须手动搜索并删除
-f --force 此选项强制删除用户账户,甚至用户仍然在登录状态,它也强制删除用户的主目录和邮箱,即使其它用户
也使用同一个主目录或邮箱不属于指定用户
usermod:修改用户信息
-c 备注
-d 登入目录
-e 有效期限
-f 缓冲天数
-g 修改群组
-G 修改附加群组
-l 修改用户账户名称
-L 锁定用户密码,使密码无效
-s shell 修改用户登入后所使用的shell
-u uid 修改用户ID
-U 解除密码锁定
groupadd 添加组 groupdel 删除组
alias 给命令起一个别名
alias l="ls -CF"
用户环境
env #查看当前环境变量
export #设置或显示当前环境变量 export PATH="路径名:$path"
用户配置文件生效
source .bashrc #重新加载
修改当前用户环境变量在:path里添加
~/.profile---->path="要增加的路径:$path"
修改所有用户环境变量在:path里添加
/etc/profile----->path="要增加的路径:$path"
管道符,就是| #作用是把前边命令的结果交给管道后的命令用
重定向 > 文件名:如果文件不存在就创建,如果存在就请空
echo "内容" >> 文件名 :把内容追加到文件里
1> 标准正确输出 如:cat p1.py 1> p2.py
1>>标准正确输出追加模式 如:cat p1.py 1>> p2.py
2> 标准错误输出
2>>标准错误输出
&>标准正确输出和标准错误输出
如:cat qq.py 1>>we 2>>te #如果qq.py文件存在则we里的内容为qq.py的内容,不存在则te里有信息,we为空
查找文件
*locate #查找文件(从数据库里查找,不会遍历所有文件,数据库在每天晚上4点左右更新)
如果查找当天的文件的话要更新一下数据库 sudo updatedb
-i :忽略大小写
locate 关键字 如:png 查找liunx里所有包含png的文件
locate /etc/sh 查找路径里包含/etc/sh/的所有文件和目录
*find #查找文件 遍历所有目录和文件
-o 逻辑或
-a 逻辑与
-iname 不区分大小写
1.根据文件的名字
find /etc/ -name "*.txt" #查找/etc下以.txt结尾的所有文件
``作用是把反引号里的内容当命令去执行
2. 根据文件类型查找
ll `sduo find /home/wenson/Desktop/ -type f`查找这个目录下的所有普通文件并显示
文件类型:
f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
3.根据目录深度查找
sudo find /home/ -maxdepth 2 -type f #在/home下最多找二层目录里的普通文件
sudo find /home/ -mindepth 3 -type f #在/home下第三层目录以下的目录里查找的普通文件
4.根据文件的大小查找
sudo find /home/ -size +10M
b 块(512字节)
c 字节
w 字(2字节)
k 千字节
M 兆字节
G 吉字节
5.根据时间查找 如果前面n之前没有+和-表示n天以前的,但只是n+1天发生变化的文件
-atime 查找+n几天前或者-n几天内 读取过的文件
*-mtime 查找+n几天前或者-n几天内 内容发改变的文件
-ctime 查找+n几天前或者-n几天内 属性发改变的文件
-newer file 查找出所有比file新的文件
-newer file1 ! -newer file 2 查找出比file1文件时间新但是没有file2时间新的文件
6.按照用户/权限查找
-user
-group
-uid n
-gid n
-nouser
-nogroup
-perm 664 查找权限为664的文件夹,或者文件
对查找结果进行操作
-exec shell命令 {} \; sudo find /home/ -user wenson -a -perm 664 -exec ls -l {} \;
* -ok shell命令 {} \; sudo find /home/ -user wenson -a -perm 755 -ok ls -l {} \;
df #显示文件系统类型
df -Th
du #显示文件夹大小
du -sh
mount #挂载设备
sudo mount /dev/cdrom /mnt
sudo umount /mnt #卸载
sudo mount a.iso -o loop /mnt #挂载iso文件