博主总结了Linux常用命令, 方便之后使用过程中查阅
文件和目录操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
查看当前目录信息 $ ls -l 以列表方式显示 -h 件大小单位显示,默认是字节 -a 显示隐藏文件和隐藏目录 以列表方式查看 $ ll 以树状方式显示目录信息 $ tree 查看当前目录路径 $ pwd 清除终端内容 $ clear 切换到指定目录 $ cd 目录 cd ~ 切换到当前用户的主目录 cd .. 切换到上一级目录 cd . 切换到当前目录 cd - 切换到上一次目录 创建指定文件 $ touch 文件名 创建目录(文件夹) $ mkdir 目录名 -p 创建所依赖的文件夹 删除指定文件或者目录 $ rm 文件名或者目录名 -i 交互式提示 -r 递归删除目录及其内容 -f 强制删除,忽略不存在的文件,无需提示 -d 删除空目录 删除空目录 $ rmdir 目录名 拷贝文件、拷贝目录(-r) $ cp 旧文件 新目录/新文件 -i 交互式提示 -r 递归拷贝目录及其内容 -v 显示拷贝后的路径描述 -a 保留文件的原有权限 移动文件、移动目录、重命名 $ mv 旧文件 新目录 -i 交互式提示 -v 显示移动后的路径描述 --help 使用说明 $ ls --help 字符搜索命令 $ grep "aa" a.py # 搜索a.py 匹配 aa 字符串 -i 忽略大小写 -n 显示匹配行号 -v 显示不包含匹配文本的所有行 匹配字符串可配合正则表达式使用: ^ 以指定字符串开头 $ 以指定字符串结尾 . 匹配一个非换行符的字符 配合管道使用: ls -a | grep ‘aa’ 查找文件命令 $ find 路径 -name 'a.txt' -name 按文件名查找 匹配文件名可结合通配符使用: * 代表0个或多个任意字符 ? 代表任意一个字符 |
压缩和解压缩命令
1 2 3 4 5 6 7 8 9 10 11 12 13 |
1. .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩 $ tar zxvf a.gz -C ./ -c 创建打包文件 -v 显示打包或者解包的详细信息 -f 指定文件名称, 必须放到所有选项后面 -z 压缩或解压缩(.gz) -j 压缩或解压缩(.bz2) -x 解包 -C 解压缩到指定目录 2. .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩 $ unzip a.zip -d ./ -d 解压缩到指定目录 |
软件安装卸载
1 2 3 4 5 6 7 |
在线: $ sudo apt install 文件名 # 下载速度慢可修改镜像源地址 $ sudo apt remove 文件名 离线: $ sudo dpkg -i 文件包名.deb # 安装 $ sudo dpkg -r 文件包名 # 卸载 |
远程登录、拷贝
1 2 3 4 5 6 7 8 9 10 |
远程登录 需要安装ssh $ sudo apt install openssh-server $ ssh 用户名@ip:端口 远程拷贝 $ scp a.txt 用户名@ip:端口: /home/ubuntu/Desktop/ # 拷入服务端 $ scp 用户名@ip:端口: /home/ubuntu/Desktop/a.txt # 服务端拷入客户端的当前目录 tips: 远程登录、拷贝一般借用软件, 远程登录博主习惯使用xshell软件,远程拷贝博主习惯使用filezila软件 |
重定向命令
1 2 3 4 5 |
> 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 >> 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式 例如: $ ls >> ./a.txt |
查看文件内容
1 2 3 4 5 |
cat 查看小型文件 more 分屏查看大型文件 例如: $ cat a.txt |
管道(|)
管道(|):一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。
1 2 3 |
例如: $ ls -l | more # 查看终端显示内容并分屏展示 |
软连接, 硬链接
软连接相当于Windows下的快捷方式。
硬链接类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据。删除源文件,硬链接还可以访问到数据。
1 2 3 4 5 6 7 8 |
ln -s 创建软链接 $ ln -s 原文件相对路径或者绝对路径 软链接文件相对路径或者绝对路径 # 以相对路径创建的软连接,在原文件移动后失效 ln 创建硬链接 $ ln 原文件相对路径或者绝对路径 硬链接文件相对路径或者绝对路径 ll 显示硬链接数量 |
权限和用户操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
文件权限: $ ls -l # 第一列显示的权限分别是文件拥有者、文件所属用户组、其他用户的权限 文件权限命令chmod 1. chmod字母法 $ chmod u+r a.txt $ chmod u=rw a.txt $ chmod g=rw,o=r a.txt $ chmod a-x a.txt 角色表示: u user, 表示该文件的所有者 g group, 表示用户组 o other, 表示其他用户 a all, 表示所有用户 权限操作符: + 增加权限 - 撤销权限 = 设置权限 权限表示: r 可读 w 可写 x 可执行 - 无任何权限 2. chmod数字法 $ chmod 777 a.txt r 可读,权限值是4 w 可写,权限值是2 x 可执行,权限值是1 - 无任何权限,权限值是0 |
管理员权限
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ sudo -s # 切换到root用户 $ sudo 命令 # 临时使用root用户权限 $ su 用户 # 切换到指定用户 $ passwd # 修改当前用户密码 $ whoami # 查看当前用户 $ exit # 退出当前登录用户 $ who # 查看列举当前登录用户,包含远程登陆的用户 $ which ls # 查看ls命令的位置 $ shutdow -h now # 立刻关机 $ shutdow -h +10 # 10min后关机 $ shutdow -c # 取消关机 $ shutdow -h 21:00 # 21点关机 $ reboot |
用户相关操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
创建新用户 $ useradd 用户名 -m 自动创建用户主目录,主目录的名字就是用户名 -g 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组 修改用户信息 $ sudo usermod -G sudo wangwu # 给 wangwu 设置一个附加组 sudo $ sudo usermod -g 用户名 group2 -G 设置一个附加组 -g 修改用户组 删除用户 $ userdel 用户名 -r 同时删除用户主目录,必须要设置,否则用户主目录不会删除 创建、删除用户组 $ groupadd 组名 $ groupdel 组名 |