Ubuntu 常用命令

快捷键

终端

调出终端快捷键:Ctrl + Alt +T

打开文件夹,右击,选择 “在终端打开”
在这里插入图片描述

退格

通常用 Backspace 删除字符,但实际上 Ctrl + / 也可以用于字符删除。

中断

  • ctrl+c 是制结束当前进程(万能)
  • ctrl+d 是发送一个二进制的 EOF 的信号,让程序自行终止(但不是所有程序都会响应该快捷键)

挂起

ctrl+z的是将任务 中止/暂停,但是此任务并没有结束,它仍然在进程中,只是维持 挂起/暂停 的状态。
用户可以使用 fg/bg 操作继续前台或后台的任务

  • fg命令重新启动前台被中断的任务
  • bg命令把被中断的任务放在后台执行.

运维相关

系统

命令含义
uname -a查看内核版本(x86 or x86_64)
cat /proc/version查看linux内核版本及发布日期
cat /etc/issue查看linux版本、换行符
cat /etc/lsb-release查看ubuntu版本
cat /etc/redhat-release查看centos版本

在这里插入图片描述在这里插入图片描述

CPU

lscpu

lscpu用来显示cpu的基本信息,它是从 sysfs/proc/cpuinfo 收集来cpu体系结构信息

在这里插入图片描述
cat /proc/cpuinfo 也会打印cpu的基本信息。如果是 N核M线程,就会打印M条
在这里插入图片描述
查看android设备的cpu信息

adb shell
cat /proc/cpuinfo

在这里插入图片描述

top

top命令经常用来监控linux的系统状况,比如cpu、内存的使用
在这里插入图片描述

top的升级版是htop

在这里插入图片描述

gnome-system-monitor

如果时图形界面,可以用 gnome-system-monitor
在这里插入图片描述

indicator-systemonitor

还有一种嵌入到标题栏显示的,使用起来更方便

sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
sudo apt-get update
sudo apt-get install indicator-sysmonitor
indicator-sysmonitor &

& 表示在后台启动

右击 indicator-sysmonitor,勾选开机启动,输出格式修改为 cpu: {cpu} mem: {mem} net: {net} 点击保存,显示如下
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

内存

查看设备内存总量

adb shell
grep MemTotal /proc/meminfo

在这里插入图片描述

free 命令显示当前系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存

语法 free [options]

选项含义
-b以Byte为单位显示内存使用情况
-k以KB为单位显示内存使用情况
-m以MB为单位显示内存使用情况
-s N每N秒打印一次
-t显示RAM+swap的总额
-V显示版本信息

在这里插入图片描述
在这里插入图片描述

清理缓存

/proc 是一个虚拟文件系统,我们可以通过对它的读写操作,做为与 kernel 实体间进行通信的一种手段

参考地址 https://bbs.archlinux.org/viewtopic.php?id=127049
参考地址 https://linux-mm.org/Drop_Caches
在这里插入图片描述https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/drop_caches.c
在这里插入图片描述
drop_caches 这个文件实际上只有写有意义, 读并没有意义。因为它不是一个参数设置,而只是一个清空缓存的指令。 写入值时修改的是sysctl_drop_caches 全局变量,最初对值无限制,所以可以是0,但输入0无意义,不会引起任何操作。 后来限制为1-3,最新的代码是限制为1-4,增加了输入4的支持。

  • 0 无效参数
  • 1 释放 pagecache
  • 2 释放 dentries、inodes
  • 3 释放 pagecache、dentries 和 inodes
  • 4 3.x内核新增(意义不明)
sudo su
echo 3 > /proc/sys/vm/drop_caches
或
sysctl -w vm.drop_caches=3

网上也有说用 sync 来释放内存的,但实际测试并无效果
在这里插入图片描述在这里插入图片描述

磁盘管理

df

df 用来检查Linux服务器的文件系统的磁盘占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息

在这里插入图片描述

du

du 命令用来查看 文件和文件夹 占用磁盘空间的情况

  • 使用 ls -lhll -h 能查看文件大小,但文件夹一致均为4K
  • du 可以带文件路径,如果不带则为统计当前目录
  • max-depth 参数控制递归统计多少层级(0表示当前文件夹总大小,1表示当前文件夹和其子目录总大小)

在这里插入图片描述在这里插入图片描述

lsblk

lsblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系

在这里插入图片描述

fsck

在 Linux 中修复闪存盘或其它类型驱动器最为简单的方法就是使用 fsck 工具,此工具是删除坏块、解决「不可读」问题和修复大多数文件系统问题的强大工具。要删除坏文件块,请在特定分区(例如/dev/sdc1)或整块磁盘(例如/dev/sdc)上执行 fsck 命令, 一旦完成,你将获得一个健康的 Linux 分区 sudo fsck /dev/sdb

在这里插入图片描述

fdisk

disk是Linux自带的硬盘分区工具,可以对硬盘进行分区,或者对硬盘分区进行调整。

在这里插入图片描述在这里插入图片描述
win + A ,输入 disk,可以打开磁盘管理,查看所有的磁盘
在这里插入图片描述

在这里插入图片描述

删除原分区并创建分区

在这里插入图片描述分区重新创建后,需要将其格式化才能继续使用 mkfs

dd

当出现 U 盘已经完全不可读,里面的数据也无价值时,最佳的修复办法就是使用 dd 命令将 U 盘完全清零。清零USB驱动器 又称 低级格式化 sudo dd if=/dev/zero of=/dev/sdb 要运行很久很久。一般情况下没这必要,只需要快速格式化即可。
在这里插入图片描述

快速格式化

  • FAT32 sudo mkfs.msdos 32 /dev/sdb1
  • EXT4 sudo mkfs.ext4 /dev/sdb1
  • NTFS sudo mkfs.ntfs /dev/sdb1

在这里插入图片描述在这里插入图片描述

手动挂载

mount -t ext4 /dev/sdb1 /mnt/sdb1

注意两点

  1. /dev/sdb1 该文件必须存在,可以使用ls /dev 查看对应的名字
  2. 挂载点 /mnt/sdb1 必须存在,若不存在,可使用 mkdir 进行创建

在这里插入图片描述

文件描述符

lsof(list open files)是一个列出当前系统打开文件的工具。

在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。

正因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

lsof 输出各列信息的意义如下:

  • COMMAND:进程的名称 PID:进程标识符
  • USER:进程所有者
  • FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等
  • DEVICE:指定磁盘的名称
  • SIZE:文件的大小
  • NODE:索引节点(文件在磁盘上的标识)
  • NAME:打开文件的确切名称
    在这里插入图片描述

文件被哪个进程占用

sudo fuser -v <文件路径>
在这里插入图片描述

查看进程

ps aux | grep <进程号>
在这里插入图片描述

查看开放端口

常用命令

  • UPD类型的端口 netstat -nupl
  • TCP类型的端口 netstat -ntpl
  • 所有被打开的端口 netstat -anp
  • 查看使用该端口的程序 lsof -i:$PORT $PORT指的是对应的端口

参数含义

  • a 表示所有
  • n 表示不查寻dns
  • t 表示tcp协议
  • u 表示udp协议
  • p 表示查寻占用程序
  • l 表示查寻正在监听的程序

禁用端口

iptables -A INPUT -p tcp --dport $PORT -j DROP
iptables -A OUTPUT -p tcp --dport $PORT -j DROP

杀死进程
kill -9 $PID $PID 表示进程号

清空回收站

sudo rm -rf ~/.local/share/Trash/*
在这里插入图片描述

防火墙

ufw

命令含义
sudo ufw status获取当前防火墙状态
sudo ufw enable .打开防火墙
sudo ufw disable关闭防火墙

在这里插入图片描述

声卡

alsamixer 是基于文本下的图形界面的,可以通过键盘的上下键,左右键等,很方便地设置需要的音量,开关某个 switch 等等
在这里插入图片描述

远程控制 ssh

Ubuntu系统默认是没有SSH服务的,故要检查SSH服务是否已安装 ps -e | grep ssh

  • ssh 表示 ssh-client 已启动
  • sshd 表示 ssh-server 已启动
    在这里插入图片描述
    安装 ssh 服务端和客户端
sudo apt-get install openssh-client
sudo apt-get install openssh-server

安装完后,使用如下命令启动(或重启) sudo /etc/init.d/ssh start

ssh默认端口号为22,若需要修改端口号,编辑 /etc/ssh/sshd_config 文件

远程登陆 ssh <用户>@<IP地址>

操作文件

获取当前位置 pwd

在这里插入图片描述

创建文件夹 mkdir

  • mkdir <文件夹名> 创建多级目录(如果父目录不存在会报错)
  • mkdir -p <文件夹路径> p参数使得文件夹可以被递归创建

打开文件夹 nautilus

nautilus(鹦鹉螺)命令

命令含义
nautilus打开主目录
nautilus .打开当前目录
nautilus -q关闭所有文件夹

压缩解压

zip

  • zip [选项] 压缩包名 源文件或源目录列表
选项含义
-r递归压缩目录,将制定目录下的所有文件及其子目录全部压缩
-m将文件压缩之后,删除原始文件(相当于把文件移到压缩文件中)
-v显示压缩过程的详细信息
-q在压缩的时候不显示命令的执行过程
-[1-9]压缩级别是从1~9的数字,1表示压缩速度最快,9表示压缩效果最好
-u更新压缩文件,即往压缩文件中添加新文件
  • unzip [选项] 压缩包名
选项含义
-d 目录名将压缩文件解压到指定目录下
-n解压时并不覆盖已存在的文件
-o解压时覆盖已存在的文件(无需用户确认)
-v查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但不做解压操作
-t测试压缩文件有无损坏,但不解压
-x 文件列表解压文件,但不包含文件列表中指定的文件

tar.gz

最常用的就是 tar -zvxf <压缩包名>.tar.gz

rar

ubuntu默认不支持解压rar,因为rar是非开源的加密算法。必须安装相应的组件 sudo apt-get install rar

  • 压缩 rar a FileName.rar DirName
  • 解压 rar x FileName.rar

iso

iso的解压也叫做挂在,流程是先创建一个空目录,然后把iso挂载到该目录下

mkdir <待挂载的空目录>
chmod 777 <待挂载的空目录>
sudo mount -o loop <xxx.iso> <待挂载的空目录>

在这里插入图片描述

文件拷贝

本地cp

cp –r <源文件> <目标地址>

远程scp

  1. 将本地文件复制到目标服务器
    scp -r <待复制的文件或文件夹> root@<ip>:<目标地址>

  2. 将服务器文件复制到本地电脑
    scp -r root@<ip>:<服务器地址> <复制到哪个位置>

文件查找

可执行文件搜索 whereis

whereis用于应用名搜索,搜索结果仅限于

  • 二进制文件(-b)
  • man说明文件(-m)
  • 源代码文件(-s)

如果省略参数,则返回所有信息
在这里插入图片描述

文件名搜索 find

find 是在指定目录下查找,-name用来指定待搜索的文件名,支持通配符且只能全词匹配,格式如下:find <待搜索的目录> -name
在这里插入图片描述

查看文件内容

  • 打印文件的所有内容(正序,从头到尾) cat <文件>
    (-n显示行号)
  • 打印文件的所有内容(逆序,从尾到头) tac <文件>
    (-n显示行号)
  • 打印文件前N行 head <文件> -n <N行>
    (-n指定行数)
  • 打印文件倒数N行 tail <文件> -n <N行>
    (-n指定行数)
  • 打印文件N行以后的内容 tail <文件> -n <N行>
    (-n指定行数)

cat, head, tail 都是一次性打印操作,而 less 和 more 支持交互操作

  • more 支持翻页显示,但不能后退
  • less 是 more 的升级版本,支持前后翻页

less 和 more 的不同点

  1. less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
  2. less不必读整个文件,加载速度会比more更快
  3. less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

修改文件权限

Linux系统中的每个文件和目录都有访问许可权限,用来确定谁可以通过何种方式对文件和目录进行访问和操作。

chmod

功能:用于改变文件或目录的访问权限。
用法:sudo chmod[who][+ | – | =][mode]文件名

操作对象who可是下述字母中的任一个或者它们的组合:

  • u 表示“用户(user)”,即文件或目录的所有者
  • g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户
  • o 表示“其他(others)用户”
  • a 表示“所有(all)用户”。它是系统默认值

操作符号可以是:

  • + 添加某个权限
  • – 取消某个权限
  • = 赋予给定权限并取消其他所有权限(如果有的话)

mode所表示的权限可用下述字母的任意组合:

  • r 可读。
  • w 可写。
  • x 可执行。
  • X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
  • s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
  • t 保存程序的文本到交换设备上。
  • u 与文件属主拥有一样的权限。
  • g 与和文件属主同组的用户拥有一样的权限。
  • o 与其他用户拥有一样的权限。
  • -c : 若该档案权限确实已经更改,才显示其更改动作
  • -f : 若该档案权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
  • –help : 显示辅助说明
  • –version : 显示版本

在这里插入图片描述
在这里插入图片描述

chown

功能:更改某个文件或目录的属主和属组
语法:sudo chown[选项]用户或组 文件
在这里插入图片描述

chgrp

功能:改变文件或目录所属的组
语法:sudo chgrp[选项]group filename
在这里插入图片描述

查看用户信息

id命令用于显示用户的ID,以及所属群组的ID
在这里插入图片描述

链接

创建软链接到 /usr/bin

sudo ln -s ~/Document/Postman/Postman /usr/bin/
在这里插入图片描述

管理应用

dpkg

rpm 是 redhat 系统的安装包
deb 是 debian 系统的安装包

在 ubuntu 下,一般使用 sudo apt install xxx 进行安装
如果要下载包,那么就下载 deb 类型的,用命令 sudo dpkg -i xxx.deb 进行安装

  • 安装
    sudo dpkg -i xxx.deb
  • 查看已安装列表
    sudo dpkg -l
    在这里插入图片描述
  • 卸载
    sudo dpkg -r
    在这里插入图片描述

已被加锁

如果上次安装被强制关闭,再次安装会提示 dpkg: 错误: 另外一个进程已经为 dpkg frontend 加锁
在这里插入图片描述
解决方案

sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/updates/*
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock

sudo apt-get update
sudo apt-get upgrade

在这里插入图片描述如果提示锁由某个进程持有,那么直接杀死该进程 sudo kill -9 <进程ID>

apt 命令

  • 查看依赖
    sudo apt-cache depends mongodb
  • 递归查看所有依赖
    sudo apt-chache rdepends mongodb
    在这里插入图片描述
  • 卸载
    sudo apt-get purge <包名> 例如 sudo apt-get purge mariadb*

历史记录

history 命令用来显示历史记录,默认会显示 1000条。可以修改/etc/profile./bashrc,添加如下字段进行修改

HISTSIZE=1000
export  HISTSIZE

在这里插入图片描述

  • history -c 清空命令历史记录
  • history <N> 显示最近N条历史记录
  • !<N> 执行第N条命令
  • ctrl+r 搜索历史记录

第三方插件

桌面便签 stickynotes

sudo add-apt-repository ppa:umang/indicator-stickynotes
sudo apt-get update 
sudo apt-get install indicator-stickynotes 

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值