一、常用命令
- find 根据文件属性进行搜索
语法:
find 路径 文件属性
例如:
find . -name hello.c // 具体查找(当前目录)
find . -name *.png // 文件后缀为png(当前目录)
find Desktop -name hello.* // 查找hello开头的文件 (桌面)
find / -size +5k // 全盘查找文件大于5K
find . -amin 5 // 搜索最后5分钟访问的文件(当前目录)
find Desktop -empty // 查找空文件或空目录(桌面)
- grep 文本搜索(过滤)
语法:
grep 过滤的文本
grep -n 过滤的文本
例如:
ls -l | grep test
ll | grep Desktop
cat hello.c | grep -n cp
tail -30 03-test.txt | head -15 | grep -n opt
备注:
| 管道
> 重定向(文件如果不存在,即创建;文件存在,覆盖)
>> 重定向(文件如果不存在,即创建; 文件存在,追加)
- ps 查看进程
$ ps -ef
$ ps -ef | grep mysql
备注:
UID 用户名
PID 进程号(系统分配的,是唯一)
PPID 父进程号
C 进程CPU占用量
STIME 进程运行时间
TTY 哪个终端运行(?表示与终端无关)
CMD 命令名称和参数
- top 系统性能
$ top // q退出,ctrl + c
- kill 杀死进程
语法:
kill PID
kill -9 PID // 强制
例如:
kill 14313
- pkill 杀死服务
语法:
pkill 服务名
例如:
pkill top
- gedit 文本编辑工具(可视化操作,前提可视化界面中)
$ gedit hello.txt
- ln 建立连接文件
语法:
// 软连接(Windows桌面快捷方式,不占用空间,源文件删除,连接失效)
// 硬连接(拷贝一份,占据空间,源文件删除,连接没有任何影响)
ln 源文件 连接文件名 // 硬连接
ln -s 源文件 连接文件名 // 软连接 【使用最广泛】
例如:
ln -s /home/atom/hello.c hello
备注:
建立连接文件,最好使用绝对路径!!!
- rm 删除操作
语法:
-r 递归删除
-f 强制删除
-i 交互式,询问
例如:
rm -i hello.c
rm -fi hello.c
rm -rfi hello.c
- chmod 修改权限
备注:
u 当前用户
o 其他用户
a 所有用户
g 同组用户
r 可读
w 可写
x 可执行
语法:
chmod 权限值 文件
chmod 权限值 目录
chmod 权限值 目录 -R
例如:
chmod go-x 01-test.txt
chmod a+x 01-test.txt
chmod guo+w 01-test.txt
chmod a+rw Test -R
- ssh 通道
语法:
ssh 用户名@IP地址
例如:
备注:
sudo apt install ssh
- date 系统时间
$ date
$ date -s "2018-08-29 14:12:00"
- cal 日历
$ cal
- 查看系统信息
$ cat /etc/issue
- history 查看历史
$ history // 最近2000条记录
$ history 10 // 最后10条记录
备注: 误操作
- df 磁盘大小
$ df
$ df -hl
- tree 显示目录结构(树状)
$ tree // 显示所有
$ tree -d // 只显示目录
$ tree -L 2 // 只显示2级
备注:
sudo apt install tree
- who 用户登录信息
$ who
- whereis 查找命令所在位置
$ whereis python
$ whereis mysql
$ whereis python3
- type 查找命令所在位置(命令别名)
$ type python
$ type cp
$ type mysql
- 系统相关
$ reboot // 重启 init 0
$ shutdown // 关机 init 6
- zip打包解包
打包:
zip -r xxx.zip file1 file2 file3....
zip -r source1.zip 01-test.c 02-test.c 03-test.c
备注:
源文件还存在
解包:
unzip source1.zip // 在当前目录中解包
unzip source1.zip -d source // -d 指定目录解包
- gzip压缩解压
压缩:
gzip 压缩文件 // 压缩后,源文件名.gz
gzip source1.zip // source1.zip.gz
gzip test.c // test.c.gz
备注:
源文件不存在
解压:
gunzip 解压文件
gunzip test.c.gz
- tar打包压缩解包解压
打包:
tar -cvf xxx.tar file1 file2 file3.....
tar -cvf source2.tar 01-test.c 02-test.c 03-test.c // 打包
gzip source2.tar // source2.tar.gz 压缩
打包并压缩:
tar -zcvf xxx.tar file1 file2 file3.....
tar -zcvf source4.tar 01-test.c 02-test.c 03-test.c
备注:
-z 压缩
-c 创建(指定文件) 【必选】
-v 显示详情信息 【可选】
-f 指定压缩后的文件名 【必选】
解包:
tar -xvf xxx.tar
解压并解包:
tar -zxvf xxx.tar
备注:
-z 解压
-x 解包
-v 显示详细信息
-f 指定解压文件
- 创建用户
- useradd
语法:
useradd 用户名 // 并不会创建对应的用户目录
useradd -m 用户名 // 强制创建用户目录
useradd -m -s /bin/bash 用户名 // 默认配置
例如:
useradd zhangsan
useradd -m lisi
useradd -m -s /bin/bash wangwu
- adduser【推荐使用】
语法:
adduser 用户名
例如:
adduser zhaoliu
> 备注: exit退出当前用户
cat /etc/passwd | grep zhangsan // 查看张三用户添加是否成功
tail /etc/passwd
- 删除用户
语法:
userdel 用户名 // 默认删除用户,并不会删除该用户目录
userdel -r 用户名 // 删除用户,同事删除该用户目录
例如:
userdel lisi
userdel -r wangwu
- 修改用户密码
语法:
passwd 用户名
例如:
passwd lisi
- 查看用户所属
语法:
groups 用户名
例如:
groups zhangsan // zhangsan:zhangsan 用户名:用户组
备注:
cat /etc/group | grep zhangsan
- 创建组
语法:
groupadd 组名
例如:
groupadd python1807
- 删除组
语法:
groupdel 组名
例如:
groupdel python1807
- 添加组成员
语法:
gpasswd -a 用户名 组名
例如:
gpasswd -a zhangsan python1807
- 删除组成员
语法:
gpasswd -d 用户名 组名
例如:
gpasswd -d zhangsan python1807
- 修改文件所属者所属组
语法:
chown -R 用户名:组名 文件
chown -R 用户名:组名 目录
Python版本(Ubuntu):
python >> python2.7
python2 >> python2.7
python3 >> python3.5