创建目录 mkdir
创建文件 touch
删除文件 rm 删除目录 rm -r -f 表示强制删除 常用rm -rf
cp 复制 复制目录要 -i
mv 移动目录 重命名。 rename 重命名。
文件查看命令: cat tac less more head tail
这几个的快捷键用的比较少。我主要用的是 回车键 空格键 还有方向键 查看。more 空格键分屏看 回车键 一行一行看less B 上翻 f 下翻 空格 下翻 回车一 行 一行
/ 支持查看时搜索。 n向下翻 N向上
文件的目录属性。d目录 - 文件或者执行程序 l 链接文件 b块设备 (例如硬盘) c 串设备。鼠标 键盘类
chmod 更改文件 目录权限
chown 更改文件或目录的 所有者 或所属组 chown user:group xxx
目录默认权限 755 文件 默认644 usmask 022
chattr 隐藏属性。 chattr +a 文件不能修改 删除 只能追加 chattr +a file chattr -a file
chattr +i 不能修改 删除。 chattr +i file chattr -i file
lsattr 能查看隐藏权限。 lsattr file
suid sgid stick 这三个权限有点难。 只记得suid 用于能指向的二进制文件。 例如 passwd 能临时拥有root的权限
查找命令 : which whereis 能查找命令的绝对路径
find -name -size -user -exec -xargs -atime ctime mine
例 find / -user zhangyong -size +100M -exec rm -rf {} \;
find / -mtime +30 -type d -exec mv -r {} /tmp \;
find /root/ -cmin -30 |xargs ls -l
atime 执行过的 或者访问过的时间
mtime 创建时间
ctime 修改过属性 例如 属主 权限时间。 atime 天数单位 amin 小时单位
stat 能看查看文件的三个属性。 access modify change
链接文件: 软链接 ln -s 最好加绝对路径。 硬链接 不用 -s 。 硬链接不能跨分区。只能用在文件,indoe 号 一样。硬链接两个文件能同时更新。
用户名文件: /etc/passwd
密码文件:/etc/shadow
增加用户: useradd -g 指定用户的组 -M 不创建用户家目录 -d 自定义家目录 -G加入某附属组
删除用户: userdel -r 删除用户的家目录
修改用户属性。 usermod -g 组属性 -u uid
让某个用户加入某个组 gpasswd -a -d 从某个组 删除用户
passwd 修改用户密码 passwd --stdin 明文修改密码 可用于shell脚本里面。
su切换用户。 su - 切换用户的时候 切换用户环境。
sudo 配置文件。直接用visudo 修改。 sudo -l 列出当前用户的sudo权限。
df 查看已挂载的磁盘信息。
du 查看文件的使用情况。
fdisk -l 查看磁盘信息。 格式化磁盘。mkfs.ext4
mount 挂载磁盘 umount 卸载磁盘。
/etc/fstab 分区表信息。 blkid 查看磁盘的uuid
vim 三种模式。 一般模式 光标移动。h左 j下 k上 l右 yy复制 dd剪贴删除 pp 粘贴 v可视化选择。x删除 y复制 d剪切删除
x向后删除一个字符 X向前删除一个字符 dw 删除一个单词
i 插入 a 在光标后插入 A 在行尾插入
命令行模式 / name ?name 搜索n向下 N向上翻
:/ 1,10s/root/ROOT/ 替换 每行第一个toot 加上g 全局替换。 加上 -c 有选择替换
set nu 显示行号。 set nonu 不显示行号。
gzip 压缩。 gzip finename gunzip 解压缩 gunzip filename.gz
bzip2 压缩 bzip2 filename bunzip2 bunzip2 ffilename.bz2
xz 压缩 xz filename unxz unxz filename.xz
tar -cvf 打包 tar -xvf 解包 -c 制定路径
tar -zcvf 打包压缩 tar -zxvf 解包 gzip -tf 查看包内容
tar -jcvf tar -jxvf bzip2
tar -Jcvf tar -Jxvf xz
shell编程入门: 1.特性 !!表示上一条命令。 !n 表示执行第n条命令 !pwd 表示执行最近一条以pw开头的命alias 命令别名。unalias 取消别名。 当前用户永久生效。vi ~/.bashrc 全局。vi /etc/bashrc重定向 : 正确重定向 > 错误重定向 2> 追加 >> 2>> &> 正确 错误同时输出。 &>> 正确错误 同时追加 命令 >>文件1 2>>文件2 把正确的追加到文件1 把错误的追加到文件2变量echo $PATH env 列出系统预设的环境变量 set 列出系统预设 和自定义的变量 变量配置文件:全局 /etc/profile 在末行加入 exprot myname=zhangyong 然后运行 source /etc/profile 当前用户: ~/.bashrc 多命令执行顺序。 ;分号。 多命令顺序执行 无逻辑关系。 && 命令1&&命令2 逻辑与 1正确执行 2 执行 1不正确执行。 2不执行 || 逻辑或 命令1 || 命令2 1 执行 2不执行 1不执行 2执行 通配符 ?表示一个任意字符 * 0个或任意多个字符 [] 匹配括号任意一个字符 [abc] 可以是a 可以是c 可以是b [-] 一段范围。 [^ ] 逻辑非 |
cat命令-d 后面制定分隔符 -f 指定第几段-c 后面sort 排序 -t 分隔符 -n 使用纯数字排列 -r反向排序 uniq 去重复 常用选项 -c 统计重复的行 把行数写在前面。tr 替换字符 -d 删除某个字符 -d后面跟要删除的字符-s 把重复的字符去掉。split 切割文档 -b 按大小分割 单位byte-l 按行数来分割文档grep 过滤grep -n ‘root’ 过滤带有root 的行grep -n -v 'root' 过滤不带root的行。 -v 取反grep '[0-9]' 过滤带有数字的行grep -v '[0-9]' 过滤不带数字的行grep -v '^#' 过滤以#号开头的行grep -v '^$' 过滤所有空行grep '^[a-Z]' 过滤字母开头的行grep '^[^0-9]' 过滤非数字开头的行grep 'r.t' grep 'r*t' 过滤一个 或多个字符sed 命令sed -n '1.10'p 打印1到10行sed -n '/root/'p 打印含有root 的行-e 能实现多个任务-i 能直接修改文件的内容sed '/root/d' 删除含有root 的行 d 删除动作sed '1,10s/root/ROOT/g' 1到10行的root替换成ROOTsed 's/[0-9]//g' 删除所有的数字sed 's/[^0-9]//g' 删除所有的非数字awk 命令awk -F : '{print $1}'-F 指定分割符号 不用 -F 表示用空格做分隔符awk '/oo/' test.txt 匹配oo的行awk -F : '$1~/oo/' 1.txt 针对第一个$1 匹配。条件操作符== > < != >= <= awk -F : '$3>="500"' 第三段大于等于500的行awk -F : '$7!="/sbin/nologin"' 1.txt 第7段不等于/sbin/nologin 的行NF 段数 NR 行数 |