Ubuntu常用命令(持续更新)

Posted by

1.切换用户abc:su

su abc

2.切换超级用户:sudo

sudo -i

3.在所有路径下查找文件abc:find

find / -name abc

4.在当前文件路径和子文件夹内查找文件abc:

find ./ -name abc

5.查看当前端口占用情况:netstat

netstat

常用参数:

-a 列出所有端口
-t 仅显示tcp相关选项
-u 仅显示udp相关选项
-l 仅显示有在监听的服务状态
-n 拒绝显示别名,能转化为数字的全部转化成数字
-p 显示建立相关链接的程序名
-e 显示扩展信息,例如uid等
-r 显示路由信息,路由表
-s 按照各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令

LISTEN和LISTENING的状态只有用-a或者-l才能看到

常用组合:

①tcp组合:(只显示正在监听tcp)

netstat -ntpl

②udp组合:

netstat -nupl

6.组合:grep

... | grep ...

如,查看nginx监听的端口:

netstat -ntpl | grep nginx

又如,查看监听443端口的程序名:

netstat -ntpl | grep 443

7.apt

①更新软件源:

apt update

②更新所有软件:

apt upgrade

③下载一个程序(比如nginx):

apt install nginx

④删除一个程序(不删除配置文件):

apt remove nginx

⑤删除一个程序(包括配置文件):

apt --purge remove nginx

8.zip:

需要下载:

apt install zip

①解压一个文件(比如abc.zip)

unzip abc.zip

②解压一个文件到指定文件夹中(比如/home/abc/):

unzip abc.zip -d /home/abc/

③压缩一个文件:(将ab压缩为abc.zip)

zip abc.zip ab

④压缩一个文件夹,包括其中所有文件和子文件夹内…..(递归):

zip -r abc.zip ab

9.mkdir:

①创建一个文件夹:(比如/home/abc):

mkdir /home/abc

②如果要创建的目录的父目录等不存在,需要使用到-p参数,比如,现在只有/home,我们要创建/home/a/ab/abc:

mkdir -p /home/a/ab/abc

10.rm:

①删除文件abc:

rm abc

②删除文件夹abc:(可以将abc内所有东西包括abc一起删除)

1>会询问

rm -r abc

2>不会询问

rm -rf abc

③强制删除一个文件,并且无需逐一确认:

rm -f abc

④删除前逐一确认:

rm -i abc

数据一旦通过rm删除,就无法恢复!

11.ss

如果系统没有netstat命令,我们可以使用ss命令,使用方法和netstat没有什么区别,ss的参数更多

常用组合:

①TPC组合(正在监听):

ss -ntpl

②UDP组合(正在监听):

ss -nupl

12.ls

①显示当前文件夹内的文件:

ls

显示/var/www/html文件夹内的文件:

ls /var/www/html

②显示当前文件夹内的所有文件:(包括链接;包括隐藏文件,以 . 开头)

ls -a

显示/var/www/html文件夹内的所有文件:

ls -a /var/www/html

③显示当前文件夹内文件的详细信息(包括文件类型、权限):

ls -l

显示/var/www/html文件夹内文件的详细信息:

ls -l /var/www/html

13.chown:

①更改文件/var/www/html/index.html所属用户和用户组为www-data、www-data:

chown www-data:www-data /var/www/html/index.html

chown 用户:用户组 /var/www/html/index.html

②更改文件夹/var/www/html和里面所有文件所属用户和用户组为www-data、www-data:

chown -R www-data:www-data /var/www/html

③仅更改所属用户组为www-data:

chown -R :www-data /var/www/html

仅更改所属用户为www-data:

chown -R www-data: /var/www/html

14.chmod:

①方法一:

读的权重为4,写的权重为2,执行的权重为1

第一个数字为所属用户的权限,第二个数字为所属用户组的权限,第三个数字为其他用户的权限,

比如:755,所属用户可读可写可执行,所属用户组和其他用户只能读和执行

chmod 777 /var/www/html/index.html

则index.html任何人都具有所有权限

使一个程序具有root的权限:

chmod 4755 /var/www/html/index.html

同样的,chmod也可以递归执行,将文件夹和其内所有内容的权限全部改变:

chmod -R 744 /var/www/html

②方法二:

15.cat:

查看一个文档内的内容:(直接显示而不使用编辑器)

cat /var/www/html/index.html

16.touch:

①创建文件abc.html:

touch abc.html

17.tar:

常用参数:

-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包

-x 从档案文件中释放文件。相当于拆包

-t 列出档案文件的内容,查看已经备份了哪些文件

-z 文件同时具有gzip属性,需要gzip压缩或解压,压缩文件一般格式为 xx.tar.gz 或 xx.tgz

-j 文件同时具有bzip2属性,需要用bzip2压缩或解压,压缩文件一般格式为 xx.tar.bz2

-v 压缩或解压的过程中显示文件(常用)

-f 使用文档名,在-f之后需要立即接文档名,不能再加其他参数

-p 使用原文件原来的属性(属性不会依据使用者而改变)

--exclude FILE 在压缩的过程中,不要将FILE打包

常用解压组合:

①tar文件:

tar -xvf xx.tar

②tar.gz文件:

tar -zxvf xx.tar.gz

常用压缩组合:

①压缩成tar文件:

tar -cvf xx.tar /var/www/html/

也就是将目录/var/www/html压缩为tar文件

②压缩成tar.gz文件:

tar -zcvf xx.tar.gz /var/www/html/

录/var/www/html压缩为tar.gz文件

18.mv:

移动命令,也可以做改名称的命令

①将/var/www/html/abc目录(包括其内所有内容)挪至/var/www/abcd(事前没这个目录):

mv /var/www/html/abc /var/www/abcd

②将/var/www/html/index.html 改名为 /var/www/html/index1.html:

mv /var/www/html/index.html /var/www/html/index1.html

19.cp:

复制命令,

①将/var/www/html/index.html复制到/var/www/abcd目录中(不改变名字):

cp /var/www/html/index.html /var/www/abcd/

②将/var/www/html/index.html复制为/var/www/abcd/indexabc.html:

cp /var/www/html/index.html /var/www/abcd/indexabc.html

③将文件夹/var/www/html和其中所有内容复制到/var/www/abcd文件夹中(递归):

cp -R /var/www/html /var/www/abcd/

20.ln:

21.df:

22.ps:

23.kill:

24.ssh:

①以ubuntu用户登录,连接对象的IP为1.2.3.4:

ssh ubuntu@1.2.3.4

②以ubuntu用户登录,连接对象的域名为example.com:

ssh ubuntu@example.com

③清除密钥:(连接对象为example.com)

ssh-keygen -R example.com

④以密钥(abc.key)登录,用户为ubuntu,连接对象为example.com

ssh -i abc.key ubuntu@example.com

如果用正确的密钥登录时提示错误,可能是密钥权限问题,我们需要将密钥权限调低,保证更安全

chmod 600 abc.key