基本命令
-r
表示递归xx 例如: cp -r 递归复制(包括子文件) rm -r 递归删除 等 若存在子文件,直接复制或删除必须加-r
-f
参数强制删除
adduser 用户名
创建新用户(需要root权限) adduser需要完善用户信息,useradd只创建用户,不完善信息(密码等)
passwd 用户名
修改用户的密码(需要root权限)
deluser 用户名
删除用户
mv
移动
ls
查看文件 ls -l 或 ll 查看用户的权限情况 ls -lh 可查看文件大小 ls -AsSh 按照大小顺序展示
wget + 地址
下载
tar xvf 压缩包
解压
vi
类似于记事本打开 或 vim
make
编译
ps
查看进程 ps aux 看所有ps aux | grep python 看与python相关的进程
kill
结束进程 kill -9/-15 一个强制结束,一个保存后结束
查看文件
cat
正序显示 参数:
-n | 显示行数,包含空行 |
---|---|
-b | 显示行数,不显示空行 |
tac
倒序显示 nl
带行数显示
more
和less
分页查看
more **.txt
分页查看该文件
Enter
键向下滚动一行
Space
键向下滚动一屏
h
显示帮助
q
退出
less
基于more和vi,与more使用一致
head
只查看几行或几个字符 head -n 1 xx.txt 查看第一行, head -c 10 xx.txt 查看前10个字符
tail
查看后十行 tail -n 1 xx.txt 查看最后一行
tail
还有一个参数 -f
,可以达到实时监控的效果
file
查看文件类型
file a.txt
查看a的文件类型
mv file file1
将file改为file1
文件创建/修改
mkdir
创建文件夹 mkdir -p father/son/grandson 创建多级文件夹
touch
创建文件 touch a.txt
chmod
修改权限 chmod 700 a.txt 文件的777:第一个为user(u) 第二个为group(g) 第三个为others(o)
chown
修改所属用户 chown myb(用户名) iphone6(文件名) 修改文件所属用户 需要root权限
chgrp
修改所属组 chgrp myb(用户组) iphon6(文件名) 修改文件所属用户组
chown myb(用户名):myb(用户组) iphon6(文件名) 修改用户及用户组 -R 递归修改
Linux命令组合
rm -fr $(ls | grep a) 删除所有与a相关的文件
Vim命令
i
进入编译模式
Esc
退出编辑后
dd
或 D
删除一行
Shift + h
(H) 首行
Shift + l
( L ) 末行
Shift + j
( J ) 去除末尾换行
u
撤回
p
在光标后换下一行
:wq
保存并退出
:w
保存
:q
退出(无修改时)
:q!
强制退出(不保存)
:x
保存并退出
:set number
显示行数
:set number!
隐藏行数
0
本行行首
数字 + l
向后几个字符,最多为本行行末 例: 12 + l 向右12个字符 999 + l 最多到本行末尾
vi中一个/
为搜索,n
为下一个 N
为上一个
解压缩命令
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
tar -xvf file.tar
//解压 tar包、tar.xz
tar -xvf file.tar -C /目录
//解压 tar包、tar.xz到指定目录
tar -xzvf file.tar.gz
//解压tar.gz
tar -xjvf file.tar.bz2
//解压 tar.bz2
tar -xZvf file.tar.Z
//解压tar.Z
unrar e file.rar
//解压rar
unzip file.zip
//解压zip
快捷键
Ctrl+d
键盘输入结束或退出终端
Ctrl+s
暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z
将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a
将光标移至输入行头,相当于Home键
Ctrl+e
将光标移至输入行末,相当于End键
Ctrl+k
删除从光标所在位置到行末
Alt+Backspace
向前删除一个单词
Shift+PgUp
将终端显示向上滚动
Shift+PgDn
将终端显示向下滚动
正则
* | 匹配 0 或多个字符 |
---|---|
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[^list] | 匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,…} | 匹配 string1 或 string2 (或更多)其一字符串 {1,9}代表1和9 |
{c1…c2} | 匹配 c1-c2 中全部字符 如{1…10} (代表1,2,3,4….10) |
Who
输入who am i 出现一行(当前的终端信息)
root pts/0
2019-12-16 19:42(:1.0) **0
**代表开启了的第一个终端,若开了两个终端,1代表第二个
,等等 2019-12-16 19:42
为终端打开时
的时间
输入 whoami 出现的时当前登录的用户
who am I | 当前登录的用户,或者输入who mom likes |
---|---|
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[^list] | 匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,…} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1…c2} | 匹配 c1-c2 中全部字符 如{1…10} |
建组
groups sport(组名)
(系统会默认选一个与组名相近的用户为此组的家长)
为组添加/删除用户
su shiyanlou
(切换用户) 此处需要输入 shiyanlou 用户密码,shiyanlou 的密码可以通过 sudo passwd shiyanlou
进行设置。
groups lilei
添加名称为lilei
的组
将用户添加到组 :sudo usermod -aG 组名 用户名
demo:sudo usermod -aG lilei lilei
从组中删除用户 :gpasswd -d 用户名 组名
demo:sudo gpasswd -d lilei lilei
Linux用户相关
Linux中的deluser
,adduser
等命令是在 /usr/sbin/ 目录下的
给用户root权限
方法一、直接修改 /etc/sudoers 文件
1 /etc/sudoers内容格式
myuser ALL=(ALL) ALL
用户myuser允许运行任何命令的操作
%mygroup ALL=(ALL) ALL
用户组mygroup允许运行任何命令操作
demo
打开sudoers
vim /etc/sudoers
在文件末尾添加
lilei ALL=(ALL) ALL 允许用户 lilei 运行任何命令
方法二、将用户追加到sudo
权限用户组
1 若无sudo组,添加到wheel组
sudo usermod -a -G sudo userName
在 centos上可能会出现
usermod: group 'sudo' does not exist
因为centos默认没有sudo组,可以将你的用户指向wheel用户组, wheel用户组同样有sudo权限
所以在centos上可以使用如下命令添加用户组
sudo usermod -a -G wheel userName
修改后必须重新登录才生效
2 若无sudo组,自己创建sudo组
自己新建一个用户,并以组的形式增加到 /etc/sudoers 文件中,最后再增加另一个用户到这个组上
useradd sudo 添加sudo用户
groups sudo 添加sudo组
echo “%sudo ALL=(ALL) ALL” >> /etc/sudoers 给此组设置sudo权限
usermod -aG sudo username 将没有sudo权限的用户添加到此组中
亮点:%这个符号就是代表一个用户组
修改后必须重新登录才生效
root@centos-system$ sudo usermod -a -G sudo userName
在 centos上可能会出现
usermod: group ‘sudo’ does not exist
因为centos默认没有sudo组,可以将你的用户指向wheel用户组, wheel用户组同样有sudo权限
所以在centos上可以使用如下命令添加用户组
root@centos-system$ sudo usermod -a -G wheel userName
修改后必须重新登录才生效
2、若无sudo组,自己创建sudo组
自己新建一个用户,并以组的形式增加到 /etc/sudoers 文件中,最后再增加另一个用户到这个组上
useradd sudo 添加sudo用户
groups sudo 添加sudo组
echo “%sudo ALL=(ALL) ALL” >> /etc/sudoers 给此组设置sudo权限
usermod -aG sudo username 将没有sudo权限的用户添加到此组中
亮点:%这个符号就是代表一个用户组
修改后必须重新登录才生效
环境变量
declare tem
创建一个tem=’'的环境变量
tem=hello
创建一个tem=hello的环境变量
查看变量:echo $tem
—》 hello 变量
注意:环境变量只能由字母数字下划线组成,且数字不能开头