目录
一、Linux基础命令
二、用户和用户组
三、权限管理
四、远程管理
五、系统命令
六、文件查找命令
七、文件操作命令
八、软件管理
九、vim编辑器
持续更新中...
一、Linux基础命令
思维导图:
笔记:
ls-查看目录文件
- -a 显示隐藏的文件
- -l 以列表的形式显示
- -h 显示文件大小
- -R 递归显示子目录
cd-切换工作目录
- cd . 切换到当前目录
- cd .. 切换到上一级目录
- cd ~ 切换到家目录
- cd - 上一次工作目录互相切换
touch-新建文件
- touch [文件名称]
- touch [文件名称] [文件名称] 同时新建多个
mkdir-新建目录(sudo)
- -p 递归创建
- mkdir [目录名]
rmdir-删除目录(只能删除空目录)
- -p 递归删除
rm-删除文件或目录
- -r 递归地删除目录下内容,删除文件夹时必须加此参数
- -f 强制删除,忽略不存在的文件
mv-移动或重命名
- -f 覆盖前不询问
- -i 覆盖前询问
- -n 不覆盖已存在的文件(有相同文件不移动)
- mv命令在同一个文件夹下移动文件,即重命名
cp复制
- -i 覆盖前提示
- -r 若是目录文件,则cp将递归复制该目录下的所有文件
- cp (-r) [复制文件] [目标位置](复制文件夹,则加上-r)
cat 查看文件内容、合并文件
- sudo vi [对象] 写文件内容
- esc + :wq 退出编写
- -n [对象] 输出行编号
- -s [对象] 不输出多行空行
- -b(-nsb) [对象] 对非空行进行编号
- -cat f1 f2 >f3 合并文件
more 查看文件内容(分页查看)
- more [对象] 查看文件内容
- -空格键 显示下一屏
- -Enter 一次滚动一行
- -b 回滚一屏
- -f 前滚一屏
- -q 退出
history 历史命令
- history 查看历史命令
- history -c 删除历史命令
二、用户和用户组
思维导图:
笔记:
useradd -m [username] : 创建新账户
passwd [username] : 设置账户密码
cat /etc/passwd: 查看用户列表
cat /etc/group: 查看用户组
su - [username] : 切换账户
userdel [username] : 删除账户
rm -rf /home/[username] : 强制删除账户的home
userdel -r [username] :删除账户及home
用户切换
su - [用户名] :同时切换到用户的家目录
修改用户账户属性(usermod)
-u 用户id
-g 所属组id
usermod -g [目标组] [用户组]:修改用户组
-a -G:追加用户组
usermod -a -G [追加组] [用户组]:追加用户组
用户组管理
groupadd [组名] :创建用户组
groupdel [组名]:删除用户组(与该组关联的用户组会更新)
groupmod 修改用户组属性
-g [new_id] [组名]:修改ID
-n [new_group] [组名]:修改组名
tip:新创建的用户没有sudo权限,需将用户加到adm,sudo这两个组才有sudo权限。
三、权限管理
思维导图:
笔记:
chmod +/- rwx 文件名| 目录名 (+增加权限,-取消权限,rwx读写可执行权限)
每个文件都有三组不同的权限
- 第一组:u文件所有者 :chmod u(+/-/=)(r/w/x) filename
- 第二组:g文件所有组 :chmod g(+/-/=)(r/w/x) filename
- 第三组:o其他用户 :chmod o(+/-/=)(r/w/x) filename
例:给用户添加rw权限: chmod u+ rw filename
给文件夹添加权限(-R个递归添加权限,该目录下的文件也有权限)
chmod -R g +w dir/
数字代表权限
数字代表:
r:4 w:2 x:1 rwx:7
例: chmod 777 filename 三组权限修改为:rwx
四、远程管理
思维导图:
笔记:
ifconfig: 查看系统IP地址
ping 命令:检查网络是否正常通信(ctrl+c结束
示例:ping www.baidu.com
ssh: 远程连接(ssh端口默认22
一种网络协议,用于计算机之间加密连接(Linux默认开启
service sshd status查看开启sshd服务(active(running)表开启
Linux下ssh命令连接方式(连接本机): ssh localhost -p 22(welcome表连接成功
scp: 文件复制(linux下进行远程拷贝文件
示例1:将IP130的Test文件拷贝到本地/home下
scp liu@192.168.123.130:/home/Test /home
示例2:将本地Test文件拷贝到远程主机目录下
scp /home/Test liu@192.168.123.130:/home/liu
示例3:把demo文件夹复制到远程Desktop(-r遍历复制
scp -r demo user@remote:Desktop
五、系统命令
思维到图:
笔记:
date: 查看系统当前时间
查看磁盘空间
df -TH: 查看磁盘分区,以及挂载情况
du -sh: [目录名]查看目录大小
du -h: [文件名]查看文件大小
uname -a: 查看内核/操作系统/cpu信息
查看进程
top: 查看进程实时运行情况(q退出
ps: 查看系统所有进程状况(一般ps -ajx
结束进程
kill [参数] [进程号]
kill -9 [进程号]: 强制结束进程
kill -15 [进程号]: 结束进程
六、文件查找命令
思维到图:
笔记:
which [系统命令]: 只查找并显示可执行命令的绝对路径
(命令基本只在$PATH路径
whereis (选项)(命令): 显示命令的帮助文档所在位置
(whereis -b pwd 二进制查找
locate [关键字]: 在文件数据库查找
(配合:sudo updatedb建立整个系统目录文件数据库
find [路径] [选项]: 默认从根目录开始
路径:省略不写表示当前路径
选项: -name (find ./ -name "*.exe"
-size +/-:大于/小于(k/m/g名 (find -size +1k
-type (find -type d
-c/a/mtime (find -mtime +1 -print 单位天
-c/a/mmin (单位分钟
...
find --help
grep: 文本搜索工具,可使用正则表达式,匹配并打印
-E 使用正则表达式 #grep -E "[a-c]+" filename
-n 附加匹配字符串所处行数
-c 统计匹配字符串的行数
示例:grep "python" filename #文件中查找python
grep "python" filename1 filename2 #多个文件查找python
管道符 |: 将左边的输出当右边的输入
示例:cat file|grep aaa #将file的内容当grep的输入过滤
ll | grep -E ".*" -n #将当前目录通过正则输出所处行数
输出重定向 >:将内容输出到指定文件 #不存在则创建
>>:追加内容
示例:ls > Test.txt #将ll的内容输出重定向到该文件
cat file | tr [a-z] [A-Z] >Test.txt #将内容字母小写转大写输入过滤重定向
cat file1 >> cat file2 #将file1内容追加到file2
七、文件操作命令
思维到图:
笔记:
文件打包
tar -cvf [Name].tar [Pack]
-c 创建一个新的归档
-v 详细列出处理的文件
-f 使用归档文件
示例: tar -cvf 打包测试.tar f1 f2 f3 #将文件1,2,3打包
文件解包
tar -xvf [Name].tar [Path] #tip:-f选项必须放最后,没有路径时默认当前目录
-x 文件解包
示例: tar -xvf 打包测试.tar -C dir/ #将文件解包到dir目录下
#-C 指定解压到指定目录
gzip: 压缩解压文件-z调用gzip压缩
压缩: tar -zcvf [Name].tar.gz dir/
示例:tar -zcvf 打包测试压缩.tar.gz filedir/ #将文件夹打包压缩
解压: tar -zxvf [Name].tar.gz -C [Path]
示例:tar -zxvf 打包测试压缩.tar.gz -C dir/ #将压缩文件解压到该dir目录下
bzip2: 同gzip用法类似,后缀bz2
压缩:tar -jcvf 打包测试压缩bzip2.tar .bz2 file1...
解压:tar -jxvf 打包测试压缩bzip2.tar .bz2 -C dir/
八、软件管理
思维到图:
九、vim编辑器
思维到图:
笔记:
命令模式
vim filename: 打开/新建文件
vim +n filename: 光标置于第n行首
vim + filename: 光标置于最后一行首
vim -r filename: 上次vi编辑时系统崩溃,恢复filename
vim file1 file2: 打开多个文件,依次进行编辑
删除和复制
dd: 删除光标所在行 #2 dd 删除当前行后2行内容
d$: 删除光标所在行光标末内容
yy: 复制光标所在行 #2 ff 复制当前行后2行内容
p: 粘贴
u: 撤销
ctrl r: 反撤销
进入输入模式
i: 光标前 I: 当前行首
a: 光标后 A: 当前行尾
o: 当前行下新开下一行 O: 当前行上新开下一行
进入末行模式
输入":"
退出及保存
:q:退出 q!:退出不保存
:w:保存 wq(/x):退出并保存
查询替换从
:1,$s /python/java/g #从第1行到末行,将python替换java,g-全局
:2,5 /python/C#/g #从第2行到5行,将python替换C#,g-全局
显示行号
:set nu 显示
:set nonu 取消
可视模式
v: 按字符移动,选中文本
V: 按行移动