linux 常见命令
ctrl + d 键盘输入结束或者退出终端
ctrl + s 暂定当前程序,按任意键恢复
ctrl + z 将当前程序放入后台执行
fg 恢复放入后台的程序到前台
ctrl + a 到当前行首,相当于home
ctrl + e 到当前行尾,相当于end
ctrl + k 删除从光标尾到行末
ctrl + Backspace 向前删除一个单词
ctrl + pgup 向上滚动一页
ctrl + pgDn 向下滚动一页
who 命令 查看
who -a 打印可以打印的全部内容
who -d 打印杀死的进程
who -m 打印当前用户
who -q 打印当前登陆用户的用户名
who -u 打印当前登陆用户信息
who -r 打印运行等级
1.用户创建,权限,删除
创建用户
创建用户
sudo adduser test(用户名)
添加用户到到系统
ls /home
创建后会默认生成一个和用户相同名的用户组,此用户组不具备权限,可以使用这个命令查看
group test(用户名)
权限设置
方法1:给test赋予权限
sudo cat /etc/sudores.d/test(用户名)
方法2:使用usermod命令
cat /etc/group | sort (对所有用户进行排序显示)
cat /etc/group | grep -E "test" (显示test)
(这里应该显示为 test:x:5000 ; x表示密码不可见)
将其他用户加入sudo组,默认情况下创建的用户没有权限,单独一个用户组,用户组名和用户名相同
su root (或者拥有权限的用户,输入密码)
groups test (test为需要添加权限的用户名)
sudo usermod -G sudo test (当前命令赋予权限)
groups test (完成,此时切换回新建的账号,已经有权限了)
删除用户
sudo deluser test --romove -home
(删除test用户和home目录)
文件系统
- ls命令 查看文件
ls fileName (查看文件,不带参数)
ls -l fileName (查看文件,有权限参数显示)
- 文件权限
一般显示的文件详细信息中有一下类似的参数
==d== ==rwx== ==r-x== ==r-x== 等字样这里做了一下间隔,显示时没有间隔
其中一共分为四个部分
1. 第1个字母通常情况下有以下几种
- d 表示目录
- l 表示软连接
- b 块设备
- c 字符设备
- s socket
- p 管道
- ‘-’ 普通文件
2. 第2部分是第2到4个字母,表示拥有者权限,即当前用户
- 其中分别有4个字母表示不同的含义
- r 表示读权限read
- w 表示写权限write
- x 表示执行权限
- ‘-’ 表示无权限
- 字母顺序为rwx 用’-‘表示无当前权限
3. 第3部分是第5到7个字母,表示当前用户所属用户组的其他用户权限
4. 第4部分是最后三个字母,表示其他用户权限
更改文件权限
一个文件有三组权限,每组都是 rwx
r w x ——> 4 2 1
2 1 0 ——> 2^2 2^1 2^0 ——> 7
因此一个文件拥有读写执行权限时数字为7
同理推得
- 0 表示无权限
- 1 表示只有执行权限
- 3 表示执行权限和写权限没有读权限
- 5 表示读权限和执行权限而没有写权限
- 6 表示读写权限没有执行权限
- 7 表示三种权限都有
- 可以使用chmod命令更改文件权限
chmod 777 file (修改file权限为777,三个数组分别表示u,g,o的权限)
u => user用户 ; g =>group 用户组; o=>other 其他用户
2. 也可以使用ugo和rwx更改权限
chmod u/g/o +/- r/w/x
u/g/o可以随意顺序随意组合表示对该种类型用户的操作
+/- 表示对应的增加或者删除权限
r/w/x 表示权限,随意顺序随意组合
例如:
chmod ug + rx
表示对用户和用户组成员添加读和执行权限
了解文件的权限之后,学习一些基本文件的命令
- 创建文件命令
touch test (创建名为test的空白文件)
- 创建空白目录
mkdir file (创建名为file的空白目录)
mkdir -p a/b/c (创建多级目录,a目录下b,b目录下c)
- 复制文件
cp test a/b (复制test到b目录)
- 复制目录
cp -r d/e a/b/c (复制d/e目录到c目录下,形成a/b/c/d/e)
- 删除文件
rm test (删除test文件,如果test是一个只读文件会提示)
rm -f test(忽略提示,直接删除)
- 删除目录
rm -r a/b/c (删除a/b/c目录)
- 移动文件
mv 源目录文件 目的目录
mv a/c/test c/d
- 重命名
1. 使用 mv 旧文件名 新文件名 ,如果重命名后有重复会覆盖之前的文件
2. 使用 rename进行正则匹配
例如:有 1.py 2.py 3.py 3个文件
rename 's/\.py/\.txt/' *.py
将py都改为txt后缀
- 查看文件
- cat 打印文件到标准输出,正序输出
cat test (显示test文件)
cat -n test (显示test文件并显示行号)
- tac 打印文件到标准输出,倒序输出
tac test
- nl 显示行号输出
nl -b a test (空行也显示行号)
nl -b t test (空行不占行号)
nl -n ln test (行号的显示在左端)
nl -n rn test (行号的显示在右边,左边不足6位的不加0)
nl -n rz test (行号的显示在左边,右边不足6位的用0补足)
- more 分页查看
more test(只能向一个方向滚动,回车滚动一行,空格滚动一页,q 退出)
- less 分页查看
less test(类似vim风格)
- head
head test
- tail 可以查看多少行
tail -n 10 test (查看test前10行)
tail -f (不停读取当前文本)
- file 查看文件类型
file test (显示test文件类型)