查看目录

ls

  • -a 显示指定目录下所有子目录与文件,包括隐藏文件
  • -l 以列表方式显示文件的详细信息
  • -h 配合-l以人性化方式显示文件大小

ls通配符

  • *代表任意个字符
  • ?表示任意1个字符
  • []表示可以匹配字符组中的任一个
  • [abc]匹配abc中的任意一个
  • [a-f]匹配从a到f范围内的任意一个字符

pwd

  • 查看当前所在目录

tree

  • tree 以树状图的形式显示文件
  • tree ~ 以树状图的形式显示家目录
  • tree -d 只显示目录而不显示文件

切换目录

cd

  • cd ~ 切换到当前用户的主目录(/home/用户目录)

  • cd . 保持在当前目录不变

  • cd .. 切换到上级目录

  • cd - 在最近两次工作目录之间来回切换

    相对路径 $cd 桌面

    绝对路径 $cd /home/abc

常用指令

  • 自动补全 tab键
  • 曾用命令 上/下
  • 清屏 clear
  • 用户目录 ~
  • 当前目录 .
  • 放大终端文字 ctrl + shift + =
  • 缩小终端文字 ctrl + -
  • 中断终端操作 ctrl + c
  • 超级管理员权限 sudo + 命令
  • 执行文件时 ./文件名.后缀
  • 注释 #
  • 更改设备名称 sudo gedit /etc/hostnam

拷贝移动

cp

  • cp 源文件 目标文件 复制文件或目录
  • cp ~/桌面/1.txt ./a/1.txt 把桌面上的1.txt复制到当前目录下a中为1.txt
  • cp -r a b 把文件夹a复制到文件夹b中

mv

  • mv 源文件 目标文件 移动文件
  • mv 1.txt a.txt 相当于重命名,最好加-i来避免覆盖

查看文件

more

  • more 文件名 查看文件内容,分屏显示

    空格键 显示手册页的下一屏

    enter键 一次滚动手册页的一行

    b 回滚一屏

    f 前滚一屏

    q 退出

    /word 搜索word字符串

cat

  • cat 文件名 查看文件内容,一次性显示
  • -b 对非空输出行编号
  • -n 对输出的所有行编号

**grep **

  • -n 显示匹配行及行号

  • -v 显示不包含匹配文本的所有行

  • -i 忽略大小写

    grep -n 好 a.txt 搜索a.txt中的好,并显示所在行号

远程操作

shutdown 关机 无参数默认一分钟后关闭

  • shutdown -r now //立即重启
  • shutdown 20:30 //系统在20:30关机
  • shutdown +10 //系统再过十分钟关机
  • shutdown -c //取消之前指定的关机计划

ifconfig 查看或配置网卡信息

  • ifconfig | grep inet 查看网卡对应的IP地址

ping

  • ping ip地址 //检测到目标ip地址的连接是否正常

ssh 远程登陆和复制文件

  • ssh 用户名@ip 关机/重启
  • ssh [-p 端口号] 用户名@ip或者域名 通过SSH客户端远程登陆Ubuntu系统
  • exit 退出远程登陆
  • scp [-P 端口号] 用户名@ip:文件名或路径 用户名@ip:文件名或路径 复制文件 加上 -r 选项可传送文件夹
  • scp /home/test/test.txt root@192.168.0.2:/home/test/ 拷贝文件
  • scp -r /home/test/ root@192.168.0.2:/home/test/ 拷贝目录

ssh设置免密码登录

  1. 生成ssh钥匙: ssh-keygen
  2. 上传公钥到服务器: ssh-copy-id -p port user@remote //port为端口号

配置别名(适用于ssh和scp命令) 利用一个别名代替 -p port user@remote 等数据

  1. step1 创建~/.ssh/config
  2. step2 在创建的文件中追加如下内容

用户管理

添加组

  • sudo groupadd 组名 添加组
  • sudo groupdel 组名 删除组
  • cat /etc/group 确认组信息

添加新用户

  • sudo useradd -m -g 组 新建用户名
  1. -m 自动建立用户家目录
  2. -g 指定用户所在的组,否则会建立一个和当前用户同名的组
  • 默认添加的用户无权限使用sudo,应将用户添加到sudo附加组中,命令如下:usermod -G sudo 用户名

设置用户密码

  • passwd 用户名 如果是普通用户,该命令可修改密码

  • /usr/bin/passwd 是用于修改用户密码的程序

  • /etc/passwd 是用于保存用户信息的文件

  • 文件存放的是用户信息,由6个分号组成的7个信息,分别是:

a 用户名 b 密码(x,表示加密的密码)

c UID(用户标识) d GID(组标识)

e 用户全名或本地帐号 f 家目录

g 登录使用的shell,就是登录之后使用的终端命令

删除用户

  • sudo userdel -r 用户名 //-r自动删除用户家目录

**查看用户UID和GID信息 **

  • id [用户名]

查看当前所有登录的用户列表

  • who

**查看当前登录用户的帐号名 **

  • whoami

切换用户

  • su - 用户名 切换用户,并且切换目录,可切换到用户家目录,否则保持位置不变
  • su 用户名 切换用户
  • exit 退出当前登录账户

系统相关

date

查看系统时间

cal

查看日历

  • -y 查看一年的日历

df -h

查看磁盘

  • du -h[目录名] 查看目录下文件大小

ps aux

查看进程的详细状况

  • a 显示终端上的所有进程,包括其他用户的进程
  • u 显示进程的详细状态
  • x 显示没有控制终端的进程
  • ps默认只会显示当前用户通过终端启动时的程序

top

动态显示运行中的进程并且排列

kill

终止指定代号的进程

  • kill[-9]进程代号 -9表示强行终止
  • 一般先用 ps au 查看进程的代号,使用kill命令时,最好只终止由当前用户开启的进程,不要终止root身份开启的进程,否则可能会引起系统崩溃

压缩解压

  • Windows 常用 rar
  • Mac 常用 zip
  • Linux 常用 tar.gz

tor 压缩

  • tar -cvf 压缩文件.tar 被压缩的文件/路径
  • tar -xvf 解压文件.tar

gzip 压缩2

  • tar -zcvf 压缩文件.tar.gz 被压缩的文件/路径…
  • tar -zxvf 解压文件.tar.gz
  • tar -zxvf 解压文件.tar.gz -C 解压路径

bzip2 压缩3

  • tar -jcvf 压缩文件.tar.bz2 被压缩的文件/路径…
  • tar -jxvf 解压文件.tar.bz2
  • tar -jxvf 解压文件.tar.bz2 -C 解压路径

安装卸载

安装软件

$ sudo apt install 软件包

卸载软件

$ sudo apt remove 软件名

更新已安装的软件

$ sudo apt upgrade

其他命令

查找文件

find[路径] -name “*.py”

  • 查找指定路径下扩展名是.py的文件,包括子目录
  • 如果省略路径,表示在当前文件夹下查找

软链接

ln -s 被链接的源文件 链接文件

建立文件的软链接,类似于windows的快捷方式

echo 文字内容

在终端中显示参数指定的文字,通常与重定向联合使用

  • echo hello python > a

重定向 >/»

命令 >/» 文件

  • 输出,会覆盖文件原有的内容 >
  • 表示追加,会将内容追加到已有文件的末尾 »
  • 把终端显示的东西重定向到a ls -lh > a
  • 把hello python追加到a echo hello » a

管道 |

把一个命令的输出通过管道做为另一个命令的输入

  • 常用的管道命令:more、grep
  • ls -lha ~ | more 目录文件(包括隐藏文件)分屏显示

常见服务端口号列表

序号 服务 端口号
01 SSH服务器 22
02 Web服务器 80
03 HTTPS 443
04 FTP服务器 21