查看
命令 | 解释 |
---|---|
ls | 查看目录下的文件 |
ls -a | 查看目录文件(包含隐藏文件) |
ls -R a | 查看目录下所有层级 |
ls -L a | 查看a目录下详细信息 |
pwd | 查看当前所在的目录 |
cat | 文本内容显示到终端 |
head -5 a | 查看a文件开头5行,默认10行 |
tail -3 a | 查看a文件结尾3行, 默认10行 |
tail -f a | 查看a文件,并且进行更新跟踪 |
wc -l a | 查看a文件有多少行 |
whoami | 查看自身的用户名 |
创建目录
命令 | 解释 |
---|---|
mkdir a | 创建名为a的目录 |
mkdir a b c | 连续创建a,b,c三个目录 |
mkdir -p a/b/c | 创建多级目录,这里创建了a目录下b目录下c目录 |
删除
命令 | 解释 |
---|---|
rmdir a | 删除a目录,只能删除空目录 |
rm -rf a | 删除a目录,非空目录也可以删除, 且没有提示,慎用! |
复制
命令 | 解释 |
---|---|
cp -r css-magic a/ | 将css-maigc整个目录复制到a目录下 |
cp -r dir* ../ | 将以dir开头所有的目录复制到上一级目录下 |
cp -r dir? ../ | 将以dir开头+一个字符的目录复制到上一级目录下 |
cp -p | 保留用户、权限、时间等文件属性 |
cp -a | 等同于-dpR??? |
移动
命令 | 解释 |
---|---|
mv a b | 移动或者重命名a文件名为b |
打包和压缩
命令 | 解释 |
---|---|
tar cf a.tar a | 打包a文件 |
ls -lh a.tar | 查看a压缩文件的大小,以单位显示,例如M / G |
tar czf a.tar.gz a | 给a文件打包并且压缩,这里.tar.gz是双扩展名, 为了在可读性上代表这个经过了压缩,czf的c代表打包,z代表zip,f 代表操作类型为文件 |
tar cjf a.tar.bzip2 a | bzip2 压缩比gzip高,但压缩速度比bzip2慢 |
tar xzf a.tar.gz -C ./ | 解压s压缩包到当前目录下。xzf中 x代表解压,z是因为这里要解压的是gzip,f操作类型为文件 |
文本编辑
命令 | 解释 |
---|---|
vi a | 进去a文件 |
- 操作
文本编辑操作指令 | 解释 |
---|---|
hjkl | 光标方位移动 |
yy | 复制整行 |
3yy | 连续复制3行 |
y$ | 从光标的位置复制到结尾 |
p | 粘贴 |
d | 剪切 |
5dd | 代表连续剪切5行 |
u | 撤销上一次操作,可撤销多次 |
ctrl + r | 撤销多了,回撤 |
x | 删除指定字符 |
r + 新字符 | 替换 |
:set nu | 显示行号 |
:set nonu | 去掉行号 |
/x | 查找字符x,在查找的内容按n(向下),shift + n(向上) 进行上下移动 |
:s/m/o | 将光标所在的行查找到m字符用o替换 |
:%s/m/o/g | 文本内查找到全部m字符用o替换 |
:set hlsearch | 显示搜索高亮 |
:set nohlsearch | 去掉搜索高亮 |
v | 可视模式(单个字符) |
shift + v | 可视模式(行) |
ctrl + v | 可视模式(块) |
用户和用户组
命令 | 解释 |
---|---|
sudo -i 后enter 输入密码 | 暂时切换到root身份执行root的权限 |
su - a | 切换到a用户 |
exit | 从root 用户切回普通用户 |
useradd a | 创建一个叫a的用户 |
id a | 查询有没有叫a的用户 |
passwd a | 给用户a更改密码 |
userdel -r a | 删除a用户, 如果不加 -r,那么该用户的home目录是没有删除的 |
usermod | 修改用户信息 |
输出
命令 | 解释 |
---|---|
echo | 显示信息到终端上 |
echo 123 > a.log | 输出内容123到a.log文件里 |
其他
命令 | 解释 |
---|---|
cd | 更换目录 |
touch | 创建文件 |
文件目录
路径 | 解释 |
---|---|
/etc/passwd | 存放用户的文件 |
/etc/shadow | 用户密码相关文件 |
chmod | 修改文件、目录权限 |
chmod u+x readme.md | 给readme.md文件用户部分添加执行的权限,u+x中u代表user, + 表示添加权限,x代表执行权限(r读w写x执行) |
chmod g-r readme.md | 给readme.md文件的组去除读的权限,g-r中g代表group, - 表示删除权限,r代表读权限(r读w写x执行) |
chmod o=w readme.md | 给readme.md文件的其它用户权限添加写的权限,o=w中o代表other, = 表示一次性操作,比如原本有读权限,想去掉读权限添加写权限,w代表写权限(r读w写x执行) |
chmod a+r readme.md | 给readme.md文件的用户、组、其它用户都添加读权限,a+r中a代表all, + 表示添加,r代表读权限(r读w写x执行) |
chmod 111 readme.md | 给readme.md文件用户、组合其它用户只配置执行权限,111中第一个1,位置代表user,第二个1位置代表组,第三个1位置代表其它用户(1执行2写4读) |
chmod 777 readme.md | 给readme.md文件用户、组合其它用户配置所有权限,7代表1+2+4(1执行2写4读) |
chown | 更改属主和属组 |
chown a test | 将test文件的属主改为a用户,chown是change owner的缩写, 需要root权限 |
// vim /etc/passwd文件
clsmall:x:1001:1001::/home/clsmall:/bin/sh
复制代码
解释
- clsmall: 用户名
- x : 是否需要进行密码验证
- 第一个1001: uid,不能随意更改,如果改成了已存在的id,就会编程那个用户
- 第二个1001: 目前这个用户属于哪个组
- /home/clsmall: home目录的位置
- /bin/sh : 用户的命令解释器
- 里面有两个连续的冒号
::
,应该是这里是注释的位置,这里注释为空的意思
// vim /etc/shadow
clsmall:$6$jveUn92k1qeyIivH$YnBK/M8w6Tpj0.M0a4hRVX6GPjeN//4Klp2Qmbs5pV4Zv/nkVhhQUDBS00h5Gv7DUHe1w2laywUoASlFC0Lwj.:18795:0:99999:7:::
复制代码
解释
- clsmall: 用户名
- 后面一串: 经过加密的密码,这里即使设置的相同密码,加密后也是不一样的,为了规避套出来密码
// vim /etc/group
root:x:0:
复制代码
解释
- root: 组的名称
- x:是否需要密码验证
- 0 : gid为0
// ll 展示当前目录下的详细信息,这里以pulish.log为例
-rwxrwxrwx 1 cl cl 44 Jun 11 15:35 publish.log
复制代码
解释
-
表示普通文件- rwxrwxrwx : r代表读,w代表写,x代表执行。第一个rwx代表文件属主的权限,第二个rwx代表文件属组的权限,第三个rwx代表其他用户的权限。
// mkdir test创建个空目录
drwxr-xr-x 1 cl cl 4.0K Jun 21 18:25 test
复制代码
解释
- d: 表示目录文件,这里表示目录属主对test目录有读写执行的权限,目录属组和其他用户有读和执行的权限
特殊权限
// /usr/bin/passwd 这个文件
// s代表执行命令时,取得属主的权限,这里属主指root
-rwsr-xr-x 1 root root 67K May 28 2020 passwd
// /usr/bin/temp 这个文件
// t表示只有root和创建文件的自己能操作文件
drwxrwxrwt 1 root root 512 Jun 22 10:47 tmp