Ubuntu终端命令详述
一、基本终端命令1、调整终端窗口的字体大小"ctrl + shift + ="放大终端窗口的字体"ctrl + -"缩小终端窗口的字体2、Linux命令的基本使用序号命令对应英文作用01lslist查看当前文件夹下的内容02pwdprint work diectory查看所在文件
一、基本终端命令
1、调整终端窗口的字体大小
"ctrl + shift + =" 放大终端窗口的字体
"ctrl + -" 缩小终端窗口的字体
2、Linux命令的基本使用
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print work diectory | 查看所在文件夹 |
03 | cd [目录名] | change directory | 切换文件夹 |
04 | touch [文件名] | touch | 若文件不存在,新建文件 |
05 | mkdir [目录名] | make directory | 创建目录 |
06 | rm [文件名] | remove | 删除文件 |
07 | clear | clear | 清屏 |
3、终端使用技巧 | |||
a:自动补全 |
在输入"文件/目录/命令"的前几个字母之后,按下"tab"键若没有歧义,系统会自动补全,若存在歧义,再次按下"tab",系统会提示可能存在的命令。
b:曾经使用过的命令
按"上/下"光标键可以在曾经使用过的命令之间来回切换
若想退出选择且不想执行当前选中的命令,可以按"ctrl + c"
二、查阅命令帮助信息
1、–help
"command --help" 显示command命令的帮助信息
2、man
"man command" 查阅command命令的使用手册
man为manual的缩写,是Linux提供的一个手册,包含了大部分的命令、函数的详细说明。
在终端输入 man mkdir,显示如下:
使用man时的功能操作键如下:
操作键 | 功能 |
---|---|
空格键 | 显示手册页中的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前进一屏 |
q | 退出 |
/word | 搜索word字符串 |
三、文件和目录的常用命令 | |
1、Linux下文件和目录的特点 |
Linux文件或目录名称最长256个字符
以"."开头的文件为隐藏文件,需要用"-a"参数才能显示,即"ls -a"
"."代表当前目录
".."代表上一级目录
2、"ls"的使用
2.1 、"ls"常用选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有目录与文件,包括隐藏文件 |
-l | 已列表方式显示文件的详细信息 |
-h | 配合"-l"以人性化方式显示文件大小 |
计算机中文件大小的表示方式 | |
2.2、"ls"通配符的使用 | |
通配符 | 含义 |
------- | :----------- |
* | 代表任意数目个字符 |
? | 代表任意一个字符,至少一个 |
[] | 表示可以匹配字符组中的任意一个 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从a到f范围内的任意一个 |
3、"cd"的使用 | |
注:Linux所有的目录和文件名都是大小写敏感的。 | |
3.1、"cd"常用选项 | |
命令 | 含义 |
------- | :----------- |
cd | 切换到当前用户的主目录(/home/用户目录) |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次工作目录之前来回切换 |
3.2、相对路径和绝对路径 |
相对路径:在输入路径时,最前面不是"/"或者"~",表示相对当前目录所在的目录位置。
绝对路径:在输入路径时,最前面是"/"或者"~",表示从根目录/家目录开始的具体目录位置。
4、创建和删除操作
4.1、"touch"的使用
创建文件或修改文件时间:若文件不存在,可以创建一个空白文件,若文件已经存在,可以修改文件的末次修改时间。
4.2、"mkdir"的使用
创建一个新的目录
选项 | 含义 |
---|---|
-p | 可以递归创建目录 |
例如:mkdir -p a/b/c/d/e | |
注:新建目录的名称不能与当前目录中已有的目录或文件同名。 | |
4.3、"rm"的使用 | |
删除文件或目录:使用rm命令要小心,一旦删除无法恢复。 | |
参数 | 含义 |
:------- | :------------------------------------: |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
5、查看文件内容 | |
序号 | 命令 |
:– | :----------- |
01 | cat 文件名 |
02 | more 文件名 |
03 | grep 搜索文本 文件名 |
5.1、"cat"的使用
cat会一次显示所有的内容,适合查看内容较少的文本文件。
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
5.2、"more"的使用 | |
more命令可以用于分屏显示文件内容,每次只显示一页内容,适合于查看内容较多的文本文件。 | |
使用more的操作键: | |
操作键 | 功能 |
------- | :----------- |
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前进一屏 |
q | 退出 |
/word | 搜索word字符串 |
5.3、"grep"的使用 | |
grep命令是一种强大的文本搜索工具,grep允许对文本进行模式查找,所谓模式查找,又名正则表达式。 | |
选项 | 含义 |
------- | :----------- |
-n | 显示匹配行及行号 |
-v | 显示不包含匹配文本的所有行(相当于取反) |
-i | 忽略大小写 |
常用的两种模式查找: | |
参数 | 含义 |
------- | :----------- |
^a | 行首,所搜以a开头的行 |
a$ | 行位,搜索以a结束的行 |
注意:若搜索"Hello World",即关键字存在空格,则关键字加引号。 | |
gerp -n “Hello World” 123.txt | |
6、拷贝和移动文件 | |
序号 | 命令 |
:– | :----------- |
01 | tree [目录名] |
02 | cp 源文件 目标文件 |
03 | mv 源文件 目标文件 |
6.1、"tree"的使用 | |
选项 | 含义 |
------- | :----------- |
-d | 只显示目录 |
6.2、"cp"的使用 | |
选项 | 含义 |
------- | :----------- |
-f | 已经存在的目标文件直接覆盖,不会提示 |
-i | 覆盖文件前提示 |
-r | 若给出的源文件是文件,则cp,若是目录则加上-r |
6.3、"mv"的使用 | |
选项 | 含义 |
------- | :----------- |
-i | 覆盖文件前提示 |
mv也可对文件或目录重命名: | |
7、其他命令 | |
7.1、"echo"文字内容 | |
echo会在终端中显示参数指定的文字,通常会和重定向联合使用。 | |
7.2、重定向">“和”>>" | |
Linux允许将命令的执行结果重定向到一个文件中,将本该显示到终端的内容输出/追加到指定文件中。 |
">"表示输出,会覆盖文件原有的内容
">>"表示追加,会将内容追加到已有文件的末尾
7.3、管道"|"
Linux允许将一个命令的输出通过管道作为另一个命令的输入,常用的管道命令如下:
"more":分屏显示内容
"grep":在命令执行结果的基础上查询指定文本
四、远程管理常用命令
1、关机/重启
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | shutdown 选项 时间 | shutdown | 关机 |
shutdown命令的选项: | |||
选项 | 含义 | ||
:– | :----------- | ||
-r | 重新启动 | ||
-c | 取消计划任务 | ||
注:若不指定选项和参数,默认表示1分钟之后关机。 | |||
例如: | |||
shutdown -r now 立即重启 | |||
shutdown new 立即关机 | |||
shutdown 20:30 在20:30关机 | |||
shutdown +10 10分钟之后关机 | |||
shutdown -c 取消关机任务 | |||
2、查看或配置网卡信息 | |||
序号 | 命令 | 对应英文 | 作用 |
:– | :----------- | :---------- | :------------ |
01 | inconfig | configure a network interface | 查看或配置计算机的网卡配置信息 |
02 | ping ip 地址 | ping | 检测到目标ip地址的连接是否正常 |
查看网卡对应的ip地址 | |||
3、远程登录和复制文件 | |||
序号 | 命令 | 对应英文 | 作用 |
:– | :----------- | :---------- | :------------ |
01 | ssh 用户名@ip | secure shell | 远程管理 |
02 | scp用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
3.1、常用服务器端口号列表: | |||
序号 | 服务 | 端口号 | |
:– | :----------- | :---------- | |
01 | SSH服务器 | 22 | |
02 | Web服务器 | 80 | |
03 | HTTPS | 443 | |
04 | FTP服务器 | 21 | |
3.2、SSH服务器的安装 | |||
使用如下命令安装SSH服务器: |
sudo apt install openssh-server
安装完成之后可以使用如下命令查询服务是否启动:
ps -ef |grep ssh
显示结果如下图则表示启动成功;
若无显示,则使用如下命令进行启动:
sudo service ssh start
3.3、SSH客户端的使用
连接命令如下:
ssh [-p port] user@remote
user:远程服务器的用户名,不知道则默认当前用户
remote: 远程服务器地址,ip/域名/别名
port:SSH Server监听的端口,默认22
注:使用”exit”可以退出当前用户的登录
提示:ssh终端命令只适用于Linux或Unix系统,对于windows系统,可以借助”Putty”或”Xshell”客户端软件进行远程连接。
附上两款软件的下载地址:
Putty:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Xshell:http://www.xshell.com/
当前使用xshell进行连接演示:
软件安装之后,点击右上角”文件”->”新建”如下图所示:
至此连接成功:
3.4、”scp”的使用
“scp”即secure copy,是Linux下用来远程拷贝文件的,其使用格式与ssh类似,但指定端口时”-P”必须大写。
scp –P port 源文件 user@remote:目标目录
选项 | 含义 |
---|---|
-r | 若给出源文件是目录则添加”-r”选项 |
-P | 若远程SSH服务器端口不是22,则使用”-P”指定端口 |
例如: | |
将本地a.txt复制到远程家目录Desktop/a.txt |
scp –P port a.txt user@remote:Desktop/a.txt
将远程家目录Desktop/a.txt复制到当前目录下的a.txt
scp –P port user@remote:Desktop/a.txt a.txt
将当前目录的b文件夹复制到远程家目录Desktop
scp –P port –r b user@remote:Desktop
注:scp和ssh一样,都只适用于Linux或Unix系统,windows下可以借助FileZilla使用FTP进行文件传输。
附上FileZilla下载地址:
FileZilla:https://filezilla-project.org/download.php?type=client
有关FTP的配置与FileZilla的使用请参考如下链接中"ftp服务安装与配置":
http://blog.csdn.net/qq_26709459/article/details/79115723
3.5、SSH高级
3.5.1、免密码登录
提示:SSH配置信息均保存在用户家目录下的”.ssh”目录下。
设置步骤:
①配置公钥:
执行如下命令即可生成ssh钥匙
ssh-keygen
切换到”.ssh”目录下查看生成的文件:
②上传公钥到服务器
执行如下命令可以让远程服务器记住我们的公钥
ssh-copy-id –p port user@remote
再次连接时就可以免密码了。
对上述设置的图解说明:
3.5.2、配置别名
在使用ssh连接远程机器时,每次都要输入端口、用户和地址等信息,特别麻烦,因此可以通过设置别名的方式来简化输入的信息。
配置方式,在”~/.ssh/config”下追加如下内容:
Host 别名
HostName ip地址
User 用户名
Port 22
保存之后就可以使用”ssh 别名”来实现远程登录了,scp同样也可以使用。
五、用户权限相关命令
1、用户和权限
用户是Linux系统中重要的一项,用户管理包含”用户”和”组”的管理。
在Linux中可以指定每个用户对于不同文件或目录的不同权限。
Linux中对文件/目录的权限包括:
序号 | 权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|---|
01 | 读 | read | r | 4 |
02 | 写 | write | w | 2 |
03 | 执行 | excute | e | 1 |
2、组 | ||||
为了方便用户管理提出了组的概念。实际开发中可以预先对组设置好权限,将不同的用户添加到对于的组中,以便不必为每个用户设置权限。 |
3、ls –l命令结果详细说明
“ls –l”命令可以查看文件夹下文件的详细信息,从左向右依次是:
权限:第一个字符为”d”则表示目录
硬链接数:即有多少种方式可以访问到当前文件或目录
拥有者:家目录下的文件/目录通常均属于当前用户
组:大多数组名和用户名相同
大小
时间
名称
如下所示:
权限说明如下:
示例如下:
4、”chmod”的使用
“chmod”可以修改用户/组对文件/目录的权限,格式如下:
chmod +/- rwx 文件名/目录
提示:以上方式会一次性修改拥有者/组的权限。
5、超级用户
Linux系统中的”root”账号通常用于系统的维护和管理,对系统所有资源都具有所有访问权限,但在Linux中不推荐直接使用root账号登录系统。在linux安装中,系统会自动创建一个用户账号,而这个默认的用户称为”标准用户”。
"su"是substitute user的缩写,表示使用另一个用户的身份
"sudo"命令用来以其他身份来执行命令,预设的身份为root。用户使用sudo时,必须先输入密码,在5分钟内便不用重新输入。
6、组管理相关
注:创建组/删除组的命令均需要通过”sudo”执行。
序号 | 命令 | 作用 |
---|---|---|
01 | groupadd 组名 | 添加组 |
02 | groupdel 组名 | 删除组 |
03 | cat/etc/group | 确认组信息 |
04 | chgrp –R组名 文件/目录名 | 修改文件/目录的所属组 |
如下所示: | ||
创建组并查看组信息: | ||
组信息显示如下: | ||
删除组: | ||
提示:组信息保存在”/etc/group”文件中,其中“/etc”目录是专门用来保存系统配置信息的目录 | ||
如下,将桌面目录下a.txt的所属组修改为dev | ||
7、用户管理 | ||
7.1、提示:创建用户/删除用户/修改其他用户密码等都需要使用”sudo”执行。 | ||
序号 | 命令 | 作用 |
:– | :----------- | :----------- |
01 | useradd –m –g 组 新建用户名 | 添加新用户 |
02 | passwd 用户名 | 设置用户密码 |
03 | userdel –r 用户名 | 删除用户 |
04 | cat /etc/passwd | grep 用户名 | 确认用户信息 |
注: | ||
①若创建用户是忘记添加”-m”创建新用户的家目录,可以删除该用户重新创建 | ||
②创建用户时,会默认创建一个和用户名同名的组 | ||
③用户信息保存在”/etc/passwd”文件中 | ||
具体使用如下: | ||
7.2、查看用户信息 | ||
序号 | 命令 | 作用 |
:– | :----------- | :----------- |
01 | id [用户名] | 查看用户UID和GID信息 |
02 | who | 查看当前所有登录的用户列表 |
03 | whoami | 查看当前登录用户的用户名 |
passwd文件说明: | ||
“/etc/passwd”文件存放的是用户信息,其中有6个分号组成7个信息,信息分别为: | ||
例如:radiobutton❌1001:1001::/home/radiobutton: | ||
①用户名 | ||
②密码(x表示加密的密码) | ||
③UID(用户标识) | ||
④GID(组标识) | ||
⑤用户全名或本地账号 | ||
⑥家目录 | ||
⑦登录使用的shell,就是登录之后,使用的终端命令,ubuntu默认为dash | ||
具体使用如下所示: | ||
7.3、”usermod”的使用 | ||
usermod可以设置用户的主组/附加组和登录shell,主组通常在新建用户时指定,在”/etc/passed”的第四列GID对于的组,附加组在”/etc/group”中最后一列表示该组的用户列表,用于指定用户的附加权限。 | ||
注:设置用户附加组后需重新登录才能起效。 | ||
例如: | ||
修改用户主组: |
usermod –g 组 用户名
修改用户附加组
usermod –G 组 用户名
修改用户登录shell
usermod –s /bin/bash 用户名
注:使用useradd添加的用户没有权限使用sudo以root身份执行命令,可使用以下命令将该用户添加到sudo附加组中:
usermod –G sudo 用户名
7.4、”which”的使用
提示:”/etc/passwd”用于保存用户信息的文件
“/usr/bin/passwd”用于修改用户密码的程序
which命令就可以查看执行命令所在的位置,例如:
which useradd
提示:cd命令是内置在系统内核中的,没有独立的文件,所以which无法找到cd。
扩展,bin和sbin的区别:
Linux系统中,可执行文件保存在/bin、/sbin、/usr/bin、/usr/sbin
/bin(binary二进制执行文件目录,注意用户具体应用
/sbin(system binary)系统管理员专业的二进制代码存放目录,用于系统管理
/usr/bin(user commands for applications)后期安装的软件
/usr/sbin(super user commands for applications)超级用户的一些管理程序
7.5、切换用户
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
01 | su – 用户名 | 切换用户,并且切换目录 | “-”可以切换到用户家目录,否则保持位置不变 |
02 | exit | 退出当前用户 | |
提示:su不加用户名,可以切换到root,不推荐使用,不安全。 | |||
切换用户图解: | |||
7.6、修改文件权限 | |||
序号 | 命令 | 作用 | |
:– | :----------- | :----------- | |
01 | chown | 修改拥有者 | |
02 | chgrp | 修改组 | |
03 | chmod | 修改权限 | |
格式如下: | |||
修改文件/目录拥有者: |
chown 用户名 文件名/目录名
递归修改文件/目录的组:
chgrp –R 组名 文件名/目录名
递归修改文件权限:
chmod –R 755文件名/目录名
(-R表示递归目录,若是文件可不加-R)
提示:chmod修改权限时,可以使用三个数字分别对应拥有者/组/其他用户权限。
755即拥有者rwx,组r-x,其他用户r-x
六、系统信息相关命令
1、时间和日期
序号 | 命令 | 作用 |
---|---|---|
01 | date | 查看系统时间 |
02 | cal | calendar查看日历,-y选项可查看一年的日历 |
2、磁盘信息 | ||
序号 | 命令 | 作用 |
:– | :----------- | :----------- |
01 | df –h | disk free 显示磁盘剩余空间 |
02 | du –h [目录名] | disk usage 显示目录下的文件大小 |
选项说明: | ||
参数 | 说明 | |
:– | :----------- | |
-h | 以人性化方式显示文件大小 | |
3、进程信息 | ||
序号 | 命令 | 作用 |
:– | :----------- | :----------- |
01 | ps aux | process status 查看进程详细信息 |
02 | top | 动态显示运行中的进程并排序,退出输入q |
02 | kill [-9] 进程代号 | 终止指定代号的进程,-9表示强行终止 |
注:ps默认只会显示当前用户通过终端启动的应用程序 |
ps选项说明:
a:显示终端上的所有进程,包括其他用户的进程
u:显示进程的详细状态
x:显示没有控制终端的进程
提示:使用kill是,最好只终止当前用户开启的进程,不要终止root身份开启的进程,否则可能导致系统崩溃。
七、其他命令
1、查找文件
序号 | 命令 | 作用 |
---|---|---|
01 | find [路径] –name “*.txt” | 查找指定路径下扩展名为”.txt”的文件,包含子目录 |
2、软链接 | ||
序号 | 命令 | 作用 |
:– | :----------- | :----------- |
01 | ln –s 被软链接的源文件 链接名 | 创建文件的软链接,类似windows的快捷方式 |
注:若不加”-s”创建的是硬链接,几乎不会去创建硬链接。创建软链接通常源文件使用绝对路径,不使用相对路径,否则文件移动后便无法链接到指定文件了。 |
硬链接链接的文件删除之后,仍然可以访问到该文件,但软链接不行。
提示:
①在Linux中,文件名和文件的数据是分开存储的。
②在Linux中,只有文件硬链接数为0才会被删除。
软、硬链接的区别:
3、打包压缩相关
① “.tar”格式
Linux常用打包文件为”.tar.gz”
命令格式:
打包:
tar –cvf 打包文件.tar 被打包文件/路径
解包:
tar –xvf 打包文件.tar
tar选项说明:
c:生成档案文件,创建打包文件
x:解开档案文件
v:列出归档解档的详细过程,显示进度
f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
②”.tar.gz”格式
tar只负责打包,不负责压缩。可以在tar命令加-z几颗调用gzip实现压缩和解压缩。
命令格式如下:
压缩文件:
tar –zcvf 打包文件.tar.gz 被压缩的文件/路径
解压缩文件:
tar –zxvf 打包文件.tar.gz
解压缩到指定路径:
tar –zxvf 打包文件.tar.gz –C 目标路径
注:-C指定的解压缩路径必须存在。
③”.tar.bz2”格式
压缩文件:
tar –jcvf 打包文件.tar.bz2 被压缩的文件/路径
解压缩文件:
tar –jxvf 打包文件.tar.bz2
八、软件安装
通过apt安装/卸载软件
apt即Advanced Packaging Tool,可以在终端安装/卸载/更新软件包。
安装:
sudo apt install 软件包
卸载:
sudo apt remove 软件包
更新:
sudo apt upgrade
例如:
sudo apt install htop (查看当前进程的软件)
卸载ubuntu自带Amazon
sudo apt remove unity-webapps-common
卸载ubuntu自带office
sudo apt remove --purge libreoffice*
说明:
:
如下命令是:删除已安装的软件包(保留配置文件)
apt remove 软件包名称
如下命令是:删除已安装包(不保留配置文件)
apt –purge remove 软件包名称
如下命令是:删除为了满足某些软件包的依赖而安装的,但现在不需要的软件包
apt autoremove 软件包名称
九、查看磁盘使用情况
可以使用如下命令查询系统磁盘使用情况:
df (选项)(参数)
此时显示磁盘大小单位默认为KB,可以使用如下命令,以M来显示:
df -h
df命令选项说明:
-a或--all:包含全部的文件系统
-block-size=<区块大小>:以指定的区块大小来显示区块数目
-h或--human-readable:以可读性较高的方式来显示信息
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes
-i或--inodes:显示inode的信息
-k或--kilobytes:指定区块大小为1024字节
-l或--local:仅显示本地端的文件系统
-m或--megabytes:指定区块大小为1048576字节
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值
-P或--portability:使用POSIX的输出格式
--sync:在取得磁盘使用信息前,先执行sync指令
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息
-T或--print-type:显示文件系统的类型
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息
--help:显示帮助
--version:显示版本信息
df -a
df --block-size
df -h
df -i
df --version
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)