Linux命令知识点小结
小总结下Linux命令,加强记忆,共勉
操作系统
- 可以直接在计算机上运行且控制硬件和支持软件运行的计算机程序。
常见的操作系统
-
Windows
-
mac OS
-
Linux
-
iOS
-
Android
Linux发行版
-
Debian
-
SUSE
-
Ubuntu
-
CentOS
-
RedHat
常用命令
- 以下命令均在Ubuntu里演示,且都为常用命令
- 命令格式:‘‘’ cmd [-opt][para] ‘‘’
查看目录命令
-
’ls 目录‘:可查该目录下信息,若后不接目录则显示当前目录下的信息
- ’-l‘:以列表方式显示
- ’-h‘:用单位显示文件大小(K,M,G),不用默认是字节
- ’-a‘:显示所有文件目录
- ’ll‘ = ’ls -la‘
- 配合通配符使用
ls -ahl ll
-
‘tree 目录’:以树状显示该目录信息,若后不接目录则显示当前目录下的信息
-
’-a‘:显示所有文件目录
-
‘-L’:最大显示的层数
tree -aL 3
-
查看当前目录路径
- ‘pwd’: 查看当前目录路径(绝对路径)
- 绝对路径:从根目录算起的路径
- 相对路径:从当前目录算起的路径
- …/:上一级
- ./:当前
清除终端内容
-
‘clear‘:清除终端内容
-
’ctrl + L‘:输入行置顶,间接’清除‘
切换目录命令
- 执行cd命令,这个目录必须存在
- ’cd 目录‘:切换到指定目录
- ’cd ~‘ or ’cd‘:切换到当前用户的主目录
- ’cd …‘:切换到上一级目录
- ‘cd .’:切换到当前目录
- ‘cd -’:切换上一次目录
创建文件目录命令
-
‘touch 文件名‘:创建指定文件
-
’mkdir 目录名‘:创建目录
-
‘-p’:创建文件夹及所依赖的文件夹
mkdir -p a/b/c
-
删除文件目录命令
-
‘rm 文件名或目录名’:删除指定文件或者目录
-
‘-i’:交互式提示
-
‘-r’:递归删除目录下所有内容
-
‘-f’:强制删除,无论存在与否
-
‘-d’:删除空目录,可用‘rmdir 目录’
rm -ir a rm -rf a rm -d a rmdir a
-
拷贝文件目录命令
-
‘cp 源文件/目录 目标目录’:拷贝文件/目录
-
‘-i’:交互式提示
-
‘-r’:递归拷贝目录下所有内容
-
‘-v’:显示拷贝路径
-
‘-a’:保留文件权限
-
配合通配符使用
cp -ariv a b
-
移动文件目录命令
-
‘mv 源文件/目录 目标目录’:移动文件/目录,若目标目录存在且为空目录,则会覆盖;若目标目录存在且不为空目录,则无法移动
-
‘mv 源文件 目标文件’:重命名,若目标文件存在会覆盖
-
‘-i’:交互式提示
-
‘-v’:显示移动路径
-
配合通配符使用
mv -iv a b
-
查看帮助命令
如有命令忘记用法,可使用快速查找
- ‘命令 --help’:翻页不方便
- ‘man 命令’:单独页面,浏览方便
- 空格 or ‘f’:显示下一屏
- ’b‘:显示上一屏
- 回车 or 下箭头:显示下一行
- 上箭头:显示上一行
- ’q‘:退出
重定向命令
-
把左边输出的结果保存到目标文件,终端显示信息的命令都可以使用
-
’>‘:如果文件存在会覆盖,文件不存在会创建
-
‘>>’:如果文件存在会追加,文件不存在会创建
tree > a.txt ls /home/ >> a.txt
查看文件内容命令
- ‘cat 文件’:无分屏,适合小文件
- ‘more 文件’:可分屏,适合大文件
- 空格 or ’f’:下一屏
- ‘b’:上一屏
- 回车:下一行
- ‘q‘:退出
管道命令
-
’|‘:把左边的输出作为右边的输入
ll | more ls -lh | grep 'jietui'
链接命令
-
‘ln -s 源文件 软链接文件’:软链接,相当于Windows里面创建了一个快捷方式,适用于源文件目录层很深,通常使用绝对路径且可以给目录创建软链接
-
’ln 源文件 硬链接文件‘:硬链接,相当于给源文件取了别名,用于备份
ln -s /home/jietui/Desktop/a.txt a-s.txt ln -s /home home-h ln a.txt a-h.txt
文本搜索命令
-
’grep ”内容“ 文件‘:搜索出内容所在行
- ’-i‘:忽略大小写
- ’-n‘:显示行号
- ’-v‘:显示不包含内容的所有行
grep -in 'a' a.txt grep -av 'a' a.txt
- 搜索内容配合正则表达式
- ‘^’:以指定字符串开头
- ‘$’:以指定字符串结尾
- ‘.’:替换一个非换行符
grep '^a' a.txt grep 'z$' a.txt grep 'a.c' a.txt
查找文件命令
- ‘find 路径 -name ”文件名“‘:根据文件名在指定路径下查找文件
- 配合通配符使用
find /home/jietui/Desktop/ -name '*.txt'
压缩和解压命令
-
tar命令可压缩解压.gz和.bz2文件,通常使用此种,占用空间小
- ’-c‘:创建打包文件
- ’-x‘:解包
- ’-v‘:显示解包打包详情
- ’-z‘:压缩解压.gz
- ’-j’:压缩解压.bz2
- ‘-C’:解压到指定目录,不写默认当前路径
- 配合通配符
tar -zcvf test.tar.gz *.txt tar -jcvf a.bz2 a b c tar -zxvf test.tar.gz tar -jxvf a.bz2 -C ../
-
zip命令压缩;unzip命令解压
- ‘-d’:解压到指定目录
- 配合通配符
zip a.zip *.txt unzip a.zip -d . zip b.zip 1.txt 2.txt
修改文件权限命令
-
chmod字母法:’chmod 用户设置 文件名‘
- ‘u’:文件拥有者
- ‘g’:用户组
- ‘o’:其他用户
- ‘a’:所有用户
- 权限设置操作符
- ‘+’:增加权限
- ‘-’:撤销权限
- ‘=’:设置权限
chmod u+x a chmod u-r a chmod u=rw a chmod u=- a chmod u=r,g=-,o=- a
-
chmod数字法:’chmod 权限值 文件名‘
- ‘r’:权限值为4
- ‘w’:权限值为2
- ‘x’:权限值为1
- ‘-’:权限值为0
chmod 777 a chmod 644 a
用户相关操作命令
权限相关命令
- ’sudo -s‘:用户操作会遇到权限问题,如有需要可切换root用户,管理员权限(在sudo组的才有此权限)
- ’sudo 命令‘:增加某个命令的权限,命令前加’sudo‘
创建用户
-
’useradd 用户名‘
- ’-m‘:自动创建用户主目录
- ’-g‘:指定用户组,不指定默认创建同名组
- ’-G‘:指定附加组,不指定默认为用户组
sudo useradd -m jt -g jietui -G jietui,sudo
查看用户
- ’cat /etc/passwd’:查看用户是否创建成功
- ‘cat /etc/group’:查看用户组是否创建成功
- ‘whoami’:查看当前用户
- ‘who’:查看所有登录的用户
- ‘id 用户名’:查看用户信息
设置密码
- ‘passwd 用户’:创建的新用户需要设置密码后才能在用户界面登录
切换用户
- ‘su - 用户’:切换用户
- ’exit‘:退出用户,若是当前用户会退出终端
修改用户信息
- ’usermod -g 用户组 用户名‘:修改用户组
- ’usermod -G 附加组 用户名‘:设置附加组
- ’usermod -l 新用户名 旧用户名‘:修改用户名,主目录名不会修改
- ’gpasswd -a 用户名 附加组‘:添加附加组
- ’gpasswd -d 用户名 附加组‘:删除附加组
删除用户
- ’userdel -r 用户名‘:删除用户及其主目录及邮件
创建用户组
- ’groupadd 用户组‘:添加用户组
修改用户组
- ’groupmod -n 新组名 旧组名‘:修改用户组名
删除用户组
- ’groupdel 用户组‘:删除用户组,若用户组下有用户则无法删除,需先删除组下用户
vim编辑器
- ’vim 文件”
- 命令模式:默认打开就进入
- ‘yy’:复制光标所在行
- ‘p’:粘贴
- ‘dd’:剪切当前行
- ‘V’:选中改行,按上箭头或下箭头可多选
- ‘u’:撤销
- ‘ctrl + r’:反撤销
- ‘gg’:回到第一行
- ‘G’:回到最后一行
- ‘数字 + G’:回到指定行
- ‘^‘:回到当前行首
- ’$‘:回到当前行尾
- ‘ctrl + f’:下一屏
- ‘ctrl + b’:上一屏
- ‘.’:重复上一次命令
- ‘:/搜索的内容’:搜索指定内容,加亮
- ‘:%s/要替换的内容/替换后的内容/g’:全局替换,若不加g,则替换每行第一个
- ‘:开始行数,结束行数s/要替换的内容/替换后的内容/g’:局部替换行数间
- 编辑模式:在命令模式下,输入‘i’进入;编辑完输入‘Esc’退出至命令模式
- 末行模式:在命令模式下,输入‘:’进入;按‘Esc’退出之命令模式
- ‘w’:保存
- ‘wq’ or ‘x’:保存退出
- ‘q!’:强制退出
- 命令模式:默认打开就进入
软件安装与卸载命令
- 软件安装
- ‘dpkg -i 安装包’:离线安装
- ‘apt-get install 安装包’:在线安装
- 软件卸载
- ‘dpkg -r 安装包名’ or ’apt-get remove 安装包名‘
远程登录拷贝命令
在Ubuntu里安装ssh服务端软件,并在个人电脑装ssh客户端(macOS自带)
- ’ssh 远程用户名@ip地址‘:登录服务端
- ’scp 本地文件 远程用户名@ip地址:指定路径‘:将本地文件拷贝到远程路径下,若拷贝目录,scp后加’-r‘
- ’scp 远程用户名@ip地址:服务器文件 本地路径‘:将远程文件拷贝到本地路径下,若拷贝目录,scp后加’-r‘