linux常用命令

1.Linux基本命令(一)

1.1基础操作

查看ip地址的命令: ifconfig(ubuntu) 或者 ip a(archlinux)
1.ls表示当前文件夹下面的内容
2.pwd表示当前位置
3.cd[目录名]表示切换文件夹 cd空格Desktop
.cd表示切换路径,如果在当前路径下没有输入的指令的路径,将不执行

4.touch[文件名]表示新建文件
touch 123.txt
touch {1,2,3,4,5} 一次性创建多个同级目录
touch a/b/c/123.txt 表示在a目录下面的b下面的c下面,创建123.txt前提是abc目录已经存在
5.mkdir[目录名]表示新建目录 mkdir dir
创建连续的文件夹: mkdir a/b/c/d/e/f -p
6.rm[文件名]表示移除指定的文件 rm 123.txt (删除文件夹+ -r)
7.clear表示清屏
8.cd ..表示返回上级路径
cd ../..表示返回上级的上级路径
9.cd - 表示在最后执行的两个命令之间来回切换
10.cd ./Desktop 表示跳转到当前路径下的Desktop中, 这里的./表示当前路径
11.cd /home表示跳转到根目录下的home目录中
12.cd ~ 表示快速回家
13.rm -r Desktop 等同于rm Desktop -r -r 表示删除文件夹
也可以 remove Desktop -rf f表示强制删除不用询问,不推荐使用
14.cp ① ② 复制文件,①是要复制的,②是复制到的路径
15.cp ① ② -r 等同于 cp -r ① ② 复制文件夹,将文件夹①放到文件夹②之下
16.mv ① ② 移动文件①到②之下 移动文件夹的时候需要 -r
17.mv ① XXX 重命名,将①的名字改为XXX,本来是移动命令,但是XXX不存在则是改名字
18.man ls 有问题找男人。表示查看ls命令的帮助,man后面可以加任意的命令
19.ls -l ==ll 表示以列表的形式展示当前目录下的文件,l即list
ls -ll ==ls -al
20.ls -l -h == ls -lh 在19的基础之上,展示文件的大小
21.ls -l -h -a == ls -alh 在19和20的基础之上,显示所有文件包含隐藏文件的大小
ls -alh显示的内容,d开头表示文件夹,l开头表示软连接,-开头表示普通文件
22. touch 123.txt 创建文件时,在文件名称前面加. 表示创建的是隐藏文件
touch {1,2,3,4,5} 一次性创建多个同级文件目录,可以不是连续的
touch {1..5} 一次性创建多个文件目录,必须是连续的同级的

  1. 删除空文件夹:rmdir XXXrm XXX -d

1.2调整终端窗口

终端字字体放大:Ctrl + shift + +
         缩小:ctrl + -
打开终端 : ctrl + alt + t
           ctrl + shift + t  在同一终端打开多窗口
在文件管理中查看路径 : ctrl + l   在终端里表示清屏
调到行首:ctrl+a 或者 home键
调到行尾:ctrl+e 或者 end键
cd绝对路径时如果忘记下一级目录可以按两次tab键出来可选
文件管理中显示隐藏文件:ctrl + h

2.Linux基本命令(二)

2.1重定向、打开文件

1.ls > 123.txt 表示将ls命令输出的内容写入到123.txt中,如果123.txt这个文件已经存在则**>直接覆盖文件里的内容
2.ls >> 123.txt 同1命令,不过
>>不会覆盖****已经存在的文件,如果文件名称存在,则追加在文件后面
3.tree /home/python/ > 123.txt 将/home/python/下的tree写入123.txt中
4.gedit 123.txt 打开123.txt文件,查看其中的内容
5.cat 123.txt 在命令窗口显示123.txt的所有内容
6.more 123.txt 在命令窗口分页显示123.txt中的所有内容,可以f向前翻页,q退出
7.tree /home/python/ | more |是管道的意思,此命令是在命令窗口分页显示路径下的tree命令

2.2 软连接 硬链接

1.ln -s 123.txt 123.s.txt 给123.txt创建了一个软连接相当于快捷方式,连接的名称为123.s.txt
2.ln 123.txt 123.h-link.txt 创建硬链接,只能连接文件,不能连接目录

2.3cat合并文件

1.cat ① ② 在终端显示①和②里面的内容,①在前②在后. 相当于用到了重定向
cat ① ② >> 123.txt 是重定向合并, 将显示的①和②的内容写入到123.txt中,这是重定向

2.4grep/find搜索

1.grep "h" 123.txt 表示在123.txt中搜索含有"h"内容的部分
grep -n "h" 123.txt 表示在123.txt中搜索含有"h"内容的部分,并且显示位置在第几行
grep -i "h" 123.txt 表示在123.txt中搜索含有"h"内容的部分,并且忽略h的大小写
grep -n "h$" 123.txt 表示在123.txt中搜索含有"h"内容的部分,显示第几行,并且$表示只显示h结尾的行
grep -n "^a" 1.txt 搜寻以 a 开头的行;
grep -n '[Ss]igna[Ll]' 1.txt 在文件1.txt中匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、 Signal、SignaL的行;
grep "h" 123.txt -v 搜索123.txt中不包含h的部分 后面跟 -v 是反命令

2.find ./ -name test 表示在./的路径下,搜索名字为test的文件. -name表示找的是名称

2.5通配符

  1. *表示多个字符 eg:ls *.txt 显示的是所有以txt结尾的文件
    eg:ls 1*3.txt显示的是以1开头,以3结尾的txt文件*可有可无,也可以指多个
  2. ?表示一个字符,可以叠加. eg: ls ???.txt 显示的是有三个字符的txt文件
    eg: ls 1?3.txt 显示的是以1开头,以3结尾的文件,中间的?必须有一个相应的字符

2.6 打包 压缩

解压到指定目录:在最后面加 -C + 路径

1.打包: tar -cvf xxx.tar *.txt 表示将当前路径下所有以txt结尾的文件打包成名称为 xxx.tar
这里的打包不同于Windows,不会改变文件的大小
2.压缩: gzip xxx.tar 表示将xxx.tar压缩,会产生一个 xxx.tar.gz 的文件
***可以将打包和压缩合二为一: tar -zcvf xxx.tar.gz *.txt
3.解压缩: gzip -d xxx.tar.gz, 会产生一个包
4.解包 tar -xvf xxx.tar 表示将xxx.tar解压到当前目录下
***可以将解压缩和解包合二为一: tar -zxvf xxx.tar.gz
***解压到指定目录:在最后面加 -C + 路径

另外一种不常见的压缩格式bz2:
1.打包压缩: tar -jcvf xxx.tar.bz2 *.txt
2.解压缩解包: tar -jxvf xxx.tar.bz2

最后一种基本见不到的格式zip:
1.打包压缩: zip myzip * 表示压缩所欲的文件到myzip当中,会产生一个myzip.zip文件
2.解压缩解包: unzip -d ./home myzip.zip

2.7chmod权限修改

u表示文件的拥有者,也就是权限的前三位,g表示文件的同组者,也就是中间的三位,o表示其他人,是最后的三位.
a是all的意思 表示这三者皆是
rwx 含义
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

ll查看当前文件列表,前面第一位 -表示普通文件,d表示文件夹,l表示软连接,后面每三个字符是一组,表示权限
chmod u=r 123.txt 表示只赋值给123.txt可读权限
chmod u=w 123.txt 表示只赋值给123.txt可写权限
chmod u=rwx 123.txt 表示赋值给123.txt所有权限 u表示文件的拥有者,也就是权限的前三位,g表示文件的同组者,也就是中间的三位,o表示其他人,是最后的三位
chmod g=r 123.txt chmod g=rwx 123.txt g同组者权限
chmod o=r 123.txt o其他权限
可以合并使用: chmod u=w,g=w,o=w 123.txt
表示都没有权限: chmod u=,g=,o= 123.txt
可以使用数字赋值: eg:r=4,w=2,x=1
chmod 751 123.txt 7表示前三位,5表示中间三位,1表示后三位,即前三位权限是rwx,中间三位是rx,后三位权限是x
chmod 000 123.txt 表示没有任何权限
chmod 777 a 修改a的文件夹权限为所有,chamod 777 a -R 同时也修改a文件夹内的所有文件的权限

2.8超级管理

1.sudo -s 打开超级管理员的身份,即root权限 exit退出 whoami 可以查看当前身份
2.passwd 修改密码
3.ifconfig 查看配置信息和ip

2.9关机重启

  1. reboot 立即重启
  2. shutdown -r now 立即关机,会给别的用户提醒
  3. shutdown -h now 立即关机
  4. shutdown -h 20:25 设置关机时间
  5. shutdown -h +10 十分钟之后关机
  6. shutdown -c 取消关机/重启命令

2.10 vim常用命令

  • 任意模式切换到命令模式: esc

  • 命令模式到插入模式: 输入i

  • 命令模式到末行模式: ctrl + ; w:存盘,wq保存退出,q不存盘直接退出

    vim常用命令
    命令模式:输入命令,操作vim
    插入(编辑)模式:写代码,写入文件
    末行模式:保存、退出等
    编辑模式:

    1. i: 进入编辑模式
      命令模式:
    2. yy: 复制从光标所在行开始向下多行 复制多行: 数字+yy
    3. p: 粘贴, 粘贴多次: 数字+p
    4. dd(删除、剪切), 剪切或者删除多行:数字 +dd 注意数字后面加空格
    5. V: 选中多行
    6. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
    7. x: 从前往后删除一个字母
    8. X: 从后往前删除一个字母
    9. u: 撤销 Ctr-r: 反撤销
    10. shift + >: 往右缩进
    11. shift + <: 往左缩进
    12. .:重复上一次操作
    13. G: 回到最后一行
    14. gg: 回到第一行 1G
    15. 18G: 回到指定行
    16. shift + 4:回到行末
    17. shift + 6:回到行首
    18. 搜索: : /1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
    19. 替换: : 末行模式下,将当前文件中的所有abc替换成123 :%s/abc/123/g
      末行模式下,将第一行至第10行之间的abc替换成123 :1, 10s/abc/123/g
    20. ctr+f: 下一页
    21. ctr+b: 上一页
      r: 替换当前字符 r+替换后字符
      R: 替换当前行光标后的字符

    末行模式:
    48.22. :wq, ❌ 保存退出 w保存 q退出

粘贴: ctrl+shift+v
wq保存退出==x

3.ssh远程连接与scp拷贝

A.安装ssh服务器 sudo apt-get install openssh-server

B.远程登陆 ssh 用户名@IP

3.1远程登录

远程登陆 ssh 用户名@IP
使用ssh访问,如访问出现错误。可查看是否有该文件 ~/.ssh/known_ssh 尝试删除该文件解决。

3.2远程复制文件

scp -r表示复制文件夹

远程拷贝文件到本地 :
scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径
** 拷贝单个文件可以不加 -r参数,拷贝目录必须要加 **
举例:
scp -r kayseen@147.923.123.43:/home/kayseen/QQ_dir/ ./mytest/lisi

拷贝命令大全:

本地文件复制到远程: scp 本地文件名 远程用户名称@远程ip:远程文件名
本地目录复制到远程:scp -r 本地目录 远程目录名称@远程ip:远程目录
远程文件复制到本地:scp 远程用户名@远程ip:远程文件名 文件名
远程目录复制到本地:scp -r 远程用户名@远程ip:远程文件名 文件名

在xshell上编辑文件时使用vim编辑器
小结

  1. scp可以实现Ubuntu远程连接和文件上传和下载
  2. 在windows系统上远程连接Ubuntu需要安装OpenSSH(xshell)软件
  3. FileZilla工具通过SFTP协议实现文件上传和下载

4.端口查询命令

1. 查询某个进程的命令

ps -aux|grep uwsgi

2. 查询端口占用

lsof -i:端口号 查看指定的端口号 或者 lsof -i tcp:80

netstat -tunlp 用于显示tcp,udp的端口和进程等相关情况

netstat -lnp|grep 88 可以显示某进程的所在文件目录

3.查看进程树

比如需要获取Gunicorn进程树,可以执行如下命令:
pstree -ap|grep gunicorn

更多推荐

linux、vim常用命令