Linux常用命令总结
文件和目录命令
ls
-a
显示指定目录下所有子目录和文件,包括隐藏文件-l
纵向显示文件列表和详细信息-h
以KB显示文件大小通配符的使用
*
表示任意个数字符?
表示任意一个字符[]
表示可以匹配字符组中的任意一个[abc]
匹配a,b,c中任意一个[a-f]
匹配a到f范围中任意一个字符
cd
cd
切换到当前用户主目录/home/用户目录cd ~
切换到当前用户主目录/home/用户目录cd .
保持当前目录不变cd ..
切换到上级目录cd -
可以在最近两次工作目录之间来回切换- 绝对路径:在输入路径时最前面不是/或~,表示相对当前目录所在的目录位置
- 相对路径:在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体位置
touch
- 文件不存在,创建文件
- 文件存在,修改末次修改时间
mkdir
- 创建目录,同一个目录下目录和文件都不能同名
-p
创建多级目录
rm
- 删除后无法恢复
-f
强制删除,忽略不存在的文件-r
递归删除目录下内容,删除文件夹时使用
tree
- 以树状图列出文件目录结构
-d
只显示目录
拷贝和移动命令
cp
cp 源文件 目标文件
复制文件或目录到另一个文件或目录中-i
覆盖文件前提示-r
若给出源文件是目录文件,则cp将递归复制该目录下所有子目录和文件,目标文件必须为一个目录名
mv
- mv 源文件 目标文件:移动或重命名文件或目录
-i
覆盖前提示
文件内容命令
cat
- 显示文件全部内容
-b
为文件标行号-n
为所有行标行号(包括空行)
more
- 分屏显示文件
Space
显示下一页Enter
一次滚动一行b
回滚一屏f
前滚一屏q
退出
grep
- 文本搜索工具
-n
显示匹配行及行号-v
显示不含不包含目标文本的行-i
忽略大小写^a
行首,搜索以a开始的行ke$
行尾,搜索以ke为结尾的行
echo
- 显示参数指定的文字
>
表示输出,会覆盖文件原有内容>>
表示输入,会将内容追加到已有文件的
管道
|
- 将一个命令的输出通过管道作为另一个命令的输入
- more
- grep
远程操作命令
shutdown
shutdown
选项 时间-r
重新启动-c
取消关机计划
ifconfig
- 查看配置网卡设置信息
127.0.0.1
本地回环地址
ping
- 检测计算机到计算机网络连接是否正常,数值越大,速度越慢
scp
- 远程拷贝命令
scp -P port filename user@remote:Desktop/filename
- 复制当前目录下文件到远程文件夹
scp -P port user@remote:Desktop/filename filename
- 从远程文件夹复制文件到当前目录
- WIN scp command
scp -rp .\Desktop\Notes logo@192.168.142.128:Desktop/
- 复制当前目录下文件夹到远程目录
scp -p logo@192.168.142.128:Desktop/linuxNotes/Command.md C:\Users\admin\Desktop
- 从远程文件夹复制文件到当前目录
-r
复制文件夹
ssh
ssh -p 22 user@remote
ssh-keygen
生成ssh钥匙ssh-copy-id -p port user@remote
让远程服务器记住公匙添加别名:在
~/.ssh/config
中追加1
2
3
4Host logo_ubuntu
Hostname 172.***.***.***
User logo
Port 22
用户权限命令
ls -l 拓展
r 可读 4
w 可写 2
x 可执行 1
第一列(一个字符):是否是文件夹标记
第二列(三个字符):文件拥有者权限
第三列(三个字符):组权限
第四列(三个字符):其他用户权限
第五列(数字):硬连接数
- 硬连接数:有多少种方式可以访问当前目录/文件
chmod
- 修改用户/组对文件/目录权限
chmod +/- rwx 文件|目录名
- 执行文件:
./文件名
- 执行文件:
sudo
- 以其他身份来执行命令,预设的身份为root
组管理命令
- 创建组/删除组都需要
sudo
groupadd 组名
添加组groupdel 组名
删除组cat/etc/group
确认组信息- 组信息保存在
/etc/group
文件中 /etc
目录是专门用来保存系统配置信息的目录chgrp -R 组名 文件/目录名
递归修改文件/目录的所属组
用户管理
useradd -m -g 组
添加新用户- -m 自动建立用户家目录
- -g 指定用户所在的组,否则会建立一个和用户同名的组
passwd 用户名
设置用户密码userdel -r 用户名
删除信息- -r 删除用户家目录
cat /etc/passwd | grep 用户名
确认用户信息,新建用户后,用户信息会保存在/etc/passwd中id 用户名
查看用户UID(用户标识)和GID(组标识)信息who
查看当前所有登陆的用户列表whoami
查看当前登陆用户的账户名passwd文件:
/etc/passwd
文件保存的是用户的信息,由6个分号组成的7个信息用户名
密码(x,表示加密的密码)
UID
GID
用户全名或本地账号
家目录
登陆使用的Shell,就是登陆之后使用的终端命令,ubuntu默认的是dash
usermod -g 组 用户名
修改用户主组usermod -G 组 用户名
修改用户附加组usermod -G sudo 用户名
给用户添加sudo权限
usermod -s /bin/bash
修改用户登陆Shell为bash,XShell下dash存在缺陷which
which 命令
查看执行命令所在位置/user/passwd
用于保存用户信息的文件/user/bin/passwd
用于修改用户密码的程序/bin
二进制执行文件目录,主要用于具体应用/sbin
系统管理员专用的二进制代码存放目录,主要用于系统管理/usr/bin
后期安装的一些软件/usr/sbin
超级用户的一些管理程序
su
su - 用户名
切换用户和目录exit
退出当前登陆目录su
切换到root,但不安全
修改文件权限
chown 用户名 文件名|目录名
修改文件的拥有者chgrp -R 组名 文件名|目录名
递归修改文件的组chmod -R 755
递归修改文件权限,三个数字分别代表拥有者/组/其他用户的权限- r -> 4 w -> 2 x -> 1,例如755->rwx r-x r-x
系统信息相关命令
date
查看当前系统时间cal
查看日历-y
查看一年的日历
df -h
显示磁盘剩余空间du -h[目录名]
显示目录下文件大小ps aux
查看进程的详细状况ps
默认只会显示当前用户通过终端启动的应用程序a 显示终端上的所有进程,包括其他用户的进程
u 显示进程的详细状态
x 显示没有控制终端的进程
top
动态显示运行中的进程并排序kill [-9] 进程代号
终止指定代号的进程,-9表示强行终止- 使用
kill
时不要终止root身份开启的进程
- 使用
其他命令
find
find[路径] -name "*.py"
查找文件
ln
ln -s 被链接的源文件 链接文件
建立文件的软链接- 无
-s
建立的是硬链接文件(两个文件占用相同大小的硬盘空间) - 源文件要使用绝对路经,方便移动链接文件后仍能正常使用
- 在Linux中文件名和文件数据是分开存储的
打包压缩
tar -cvf 打包文件.tar
打包文件tar -xvf 打包文件.tar
解包文件c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档解档的详细过程,显示进度
f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
gzip
tar只负责打包文件,但不压缩
用gzip压缩打包后文件扩展名为
filename.tar.gz
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
压缩文件tar -zxvf 打包文件.tar.gz
解压缩文件tar -zxvf 打包文件.tar.gz -C 目标路径
解压缩文件到指定路径(指定路径必须存在)
bzip2
tar -jcvf 打包文件.tar.gz 被压缩的文件/路径...
压缩文件tar -jxvf 打包文件.tar.gz
解压缩文件
软件安装
sudo apt install 软件包
sudo apt remove 软件包
sudo apt upgrade