总结归纳一下 Linux 的 Shell 的快捷键和常用命令 (环境基于 ubuntu-20.04.2.0)
方向键←→
] 或 Ctrl+B/F
—— 光标向后(左)/ 前(右)移动Home/End
] 或 Ctrl+A/E
—— 光标移动到开头(最左边)/ 末尾(最右边)方向键↑↓
] 或 Ctrl+P/N
—— 显示上一条 / 下一条历史命令Backspace/Del
] 或 Ctrl+H/D
—— 删除光标前 / 后(被光标覆盖住)的字符Ctrl+U
—— 删除光标前的所有字符Ctrl+L
—— 清屏Tab
—— 快速补全命令或目录(按一次或当有多个匹配项时两次)Ctrl+Alt+T
—— 新建一个终端窗口ls
命令显示文件或目录时的不同颜色:(一般情况下)
白色 —— 普通文件
蓝色 —— 目录
绿色 —— 可执行文件(相当于 Windows .EXE)
红色 —— 压缩文件
青色 —— 链接文件(相当于 Windows 快捷方式)
黄色 —— 设备文件
灰色 —— 其他文件普通文件类型 (-) Linux 中最多的一种文件类型,包括 纯文本文件 (ASCII);二进制文件 (binary);数据格式的文件 (data); 各种压缩文件。第一个属性为 [-] ,这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具… … 或 cp 工具等。这类文件的删除方式是用 rm 命令。 目录文件 (d) 就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx] ,创建目录的命令可以用 mkdir 命令,或 cp 命令,cp 可以把一个目录复制为另一个目录。删除用 rm 或 rmdir 命令。 块设备(b)和 字符设备(c) 这个种类的文件,是用 mknode 来创建,用 rm 来删除。目前在最新的 Linux 发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。 块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1 等文件。第一个属性为 [b] 字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c] 套接字文件 (s) 这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run 目录中看到这种文件类型 管道文件 (p) FIFO 也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO 是 first-in-first-out (先进先出) 的缩写。第一个属性为 [p] 符号链接(l) 和 Windows 操作系统中的快捷方式类似。 引自 Linux 下的 7 种文件类型 - CYYZ 古月
ls -a
显示路径下全部文件(包括隐藏的)ls -l
查看路径下文件的详细信息
tip:在 Linux 下文件夹(目录)所占用的磁盘空间都是 4096byte,目录大小不包括目录内的文件大小
硬盘1:sda
|--主分区
| └--(最多允许有4个)--主分区1:sda1
| |-主分区2:sda2
| |-主分区3:sda3
| └-主分区4:sda4
└--扩展分区
└--(第一个逻辑分区从sda5开始)--逻辑分区1:sda5
|-逻辑分区2:sda6
└...
硬盘2:sdb
硬盘3:sdc
硬盘4:sdd
磁盘设备种类:
sd -> SCSI Device
hd -> Hard Disk 硬盘
fd -> Floppy Disk 软盘
| 管道 - 将命令 1 的输出作为命令 2 的输入(命令 1 | 命令 2)
pwd
查看当前所在路径
~
:家目录
cd -
:在两个目录间切换
rm
参数:
r
—— 递归(进入子目录)
i
—— 提示
f
—— 强制删除(rm 命令默认会加上这个参数)
tip: rm -rf /
懂的都懂
mkdir
( -p
)/ touch
创建目录 / 文件
cat
查看文件内容
cp
拷贝文件或目录(拷贝目录时加 -r
)
tip: 拷贝文件时:软硬链接都拷贝原文件;
拷贝目录时:软链接拷贝过去还是软链接,硬链接拷贝原文件
more
一点一点的看某个文件,但是只能往下看,不能往上
less
一点一点的查看某个文件,比 more 更智能
head
/ tail
显示文件前 / 后十行(也可以加 -5
或者其他任意数字控制显示行数)
mv
移动(到一个已经存在的文件夹)或重命名
ln
创建硬链接
ln -s
创建软连接
tip:硬链接相当于新建文件名指向文件(给文件取个别名),软链接指向文件名
wc
获取文本文件的行数、单词数、字节数
od
查看二进制文件信息
参数: -t
指定数据的显示格式(c/d/f/o/u/x)
du -h
查看当前文件夹和子文件夹大小
df -h
查看磁盘容量信息
which
找到命令对应的路径
修改文件权限:chmod >folded
1) 文字设定法:
chmod [who] [+|-|=] [mode]
who: -> 不写也相当于对所有的人
文件所有者:u
文件所属组:g
其他人:o
所有的人:a
+:添加权限
-:减少权限
=:覆盖原来的权限
mode:
r:读
w:写
x:执行
例:chmod o+rx [文件名]
2) 数字设定法:
chmod [三位数] ->覆盖权限
chmod [+|-|=] [三位数] ->增加/减少/覆盖权限
没有权限:0
r:4
w:2
x:1
例:chmod 765 [文件名]
7 -- rwx -- 文件所有者
6 -- rw -- 文件所属组
5 -- rx -- 其他人
chown
改变文件所有者 [和所属组]
sudo chown user1[:group2] [文件名]
chgrp
改变所属组
tip:chown 和 chgrp 都需要管理员权限
find [目录] -name [文件名]
在指定目录下查找文件(文件名也可以使用通配符叠加 例如:* 和?)
find [目录] -size [+|-][文件大小]
找大于 / 小于
例:find [目录] -size +10K -size -10M 按大小范围查找
find [目录] -type [d|f|b|c|s|p|l]
按文件类型查找
grep -r "查找的内容" [查找的路径]
按文件内容查找
sudo apt-get install [名字]
在线安装软件
sudo apt-get remove [名字]
卸载软件
sudo apt-get update
更新软件列表
sudo apt-get clean
清理所有软件安装包(/var/cache/apt/archives/*.deb)
tip:也可用 aptitude 代替
sudo dpkg -i [deb包]
通过 deb 包安装软件
sudo dpkg -r [名字]
卸载软件
mount [U盘对应的设备名(/dev/...)] [要挂载的目录]
挂载 U 盘
umount [挂载U盘的目录]
卸载 U 盘
tip:卸载 U 盘时 U 盘不能被占用(包括 cd 到挂载 U 盘的目录下)
tip:当挂载 U 盘的目录中有文件时,挂载期间文件会被临时覆盖,待卸载 U 盘后恢复原状
alias
查看或设置别名
alias [shell命令]
查看别名
alias [封装的命令名]='shell语句'
(例:alias pag=‘ps aux | grep’)
(注意:需要长久有效需要去设置配置文件:.bashrc)
gzip [要压缩的文件]
—— .gz 格式的压缩包bzip2 [参数(-k)] [要压缩的文件]
—— .bz2 格式的压缩包注意:
tar
—— 不使用 z/j 参数,该命令只能对文件或目录打包参数: c —— 创建 —— 压缩 x —— 释放 —— 解压缩 v —— 显示提示信息 —— 压缩 / 解压缩 —— 可以省略 f —— 指定压缩文件的名字 z —— 使用 gzip 的方式压缩文件 —— .gz j —— 使用 bzip2 的方式压缩文件 —— .bz2
压缩:
tar zcvf [生成的压缩包的名字(推荐xxx.tar.gz)] [要压缩的文件或目录]
tar jcvf [生成的压缩包的名字(推荐xxx.tar.bzip2)] [要压缩的文件或目录]
解压缩:
tar jxvf [压缩包的名字]
-> 解压到当前目录tar jxvf [压缩包的名字] -C [目录]
-> 解压到指定目录Tip:tar 命令主要做的是打包的功能,内部调用 gzip 和 bzip2 进行压缩操作
rar
—— 必须手动安装该软件(实测 Ubuntu-20.04.2.0 自带有)参数: a —— 压缩 x —— 解压缩
压缩:
rar a [生成的压缩文件的名字(自动添加.rar后缀)] [要压缩的文件或目录]
解压缩:
rar x [压缩包文件名] [要解压到的目录(不写则默认当前目录)]
zip
参数: -r 压缩目录时需要加上
压缩:
zip [压缩包的名字] [要压缩的文件]
zip -r [压缩包的名字] [要压缩的文件或目录]
解压缩:
unzip [压缩包的名字]
unzip [压缩包的名字] -d [要解压到的目录]
总结:
压缩:tar/rar/zip [参数] [生成的压缩文件的敏子] [要压缩的文件或目录] 解压缩:tar/rar/unzip [参数] [压缩包的名字] [参数(rar 没有参数)] [要解压到的目录]
who
查看当前在线用户的情况(登录的用户名、使用的设备终端、登陆到系统的时间)关于 tty 设备:(这个没搞太清楚,仅做参考) tty3 - tty6 表示文字界面(文字终端) - Ctrl+Alt+F3~F6 tty2 (?) 或:0 表示图形界面 - Ctrl+Alt+F2 Ctrl + Alt + F2~F6 切换终端 Ctrl + Alt + F1 切换到用户登录界面(类似 Windows 下的锁定)
ps a
列出当前所有用户的进程信息
ps au
在上面的基础上再加上 USER、CPU、MEM、VSZ、RSS 的信息
ps aux
在上面的基础上再加上没有终端的应用信息(没有 TTY 信息的)
ps aux | grep [要查找的内容]
按要查找的内容过滤进程(注:此命令会把自己也找出来)
kill
杀死进程
kill -l
查看 kill 命令可以发出的信号
kill -SIGKILL(-9) [进程PID]
发送 SIGKILL 信号杀死进程
env
查看系统环境变量
env | grep [要查找的值]
按内容过滤环境变量
top
类似 Windows 下的任务管理器,但只能看而不能进行任何操作
ifconfig
查看网络配置信息(相当于 CMD 的 ipconfig)eth0 - 第一块网卡(第二块 eth1…) 硬件地址(MAC 地址)
ping
同 CMD 的 ping,但是会一直运行直到用户手动结束
ping -c [次数]
指定 ping 的次数
ping -i [秒数]
指定每过多少秒给一条回复
nslookup [域名]
查看网站对应的 IP 地址
sudo adduser [用户名(只能小写英文字母)]
sudo useradd -s [使用的bash目录(/bin/bash)] -g [所属的组] -d [指定用户的家目录(/home/xxx)] -m(没有这个目录的话就创建) [用户名]
(注:通过这条命令创建的用户没有密码,需要再设置 - sudo passwd [用户名])
sudo deluser [用户名]
(注:这样删除后用户对应的家目录不会被删除)
sudo userdel -r [用户名]
(注:这样会把用户对应的家目录一起删除)
vi /etc/passwd
(/etc/passwd 里存放的是所有用户的信息)
ftp 服务器作用:实现文件的上传和下载
(ftp 服务器在本机环境中启动服务失败,原因暂不明,以下仅供参考)
sudo gedit /etc/vsftpd.conf
或 sudo vi /etc/vsftpd.conf
打开配置文件
(注意:更改时不要随意修改配置文件书写格式)
sudo service vsftpd restart
(仅供参考)
ftp [服务器IP]
实名登录:用户名 + 密码
匿名登录:anonymous + 直接回车
put file
get file
(注意:不允许操作目录,可以对目录打包后操作)
类似 Windows 下的共享文件夹
mkdir [dir]
[共享目录路径] [允许访问的IP网段(*代表所有)]([参数1],[参数2],...)
参数可用:rw —— 可读可写,sync —— 从内存同步到磁盘
sudo service nfs-kernel-server restart
sudo mount [服务器IP:共享目录路径] /mnt
(需要先安装 openssh-server)
查看 SSH 是否安装: sudo aptitude show openssh-server
远程登录: ssh [用户名]@[IP]
退出登陆: logout
scp -r [用户名]@[IP]:[目标文件绝对路径] [保存到的本机路径(绝对或相对)]
拷贝目录时须加 -r
参数
未完待续…
参考文章: linux 全套教程【黑马】
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有