Linux的常用命令(持续更新~~~)

在Linux(Ubuntu)使用过程中会使用到很多命令,命令更加直接,避免UI操作的繁琐及涉及不到的操作。

关闭重启

shutdown -h now # 立即关机
shutdown -r now # 立即重启
reboot  # 重启

启动GUI桌面

从纯命令行启动gui界面。

软件端口占用

软件端口占用查看,使用netstat命令。

$ netstat -a | grep 'port_number' # port_number可以改为关心的端口号

软件安装/卸载

ubuntu下软件安装可以手动安装各种格式,也可以通过apt-getsnap方式安装。

更新软件包

apt-get

apt-get安装的软件包,可以使用update更新软件源,再使用upgrade进行软件升级。

$ sudo apt-get update
$ sudo apt-get upgrade

snap

snap安装的软件包进行升级,最直接的方式直接使用refresh子命令。

$ sudo snap refresh

卸载(移除)软件包

apt-get

如果是通过apt-get进行的安装,可以使用remove项进行移除。

  • apt-get remove <package_name> # 移除指定软件包
  • apt-get autoremove # 移除原先被依赖,但现在不再被使用的库
  • apt-get purge / apt-get --purge remove # 移除软件包,不保留配置

相关知识来自:《Ubuntu apt-get彻底卸载软件包》

snap

使用snap安装的软件包,使用命令snap remove <package_name>移除软件包。

查看已安装软件

ubuntu下安装方式主要通过apt-get, snap,两种不同可以自行google或baidu查看。

apt-get

$ dpkg -l # 查看已安装的软件包

其部分结果如下:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                          Version                               Architecture Description
+++-=============================================-=====================================-============-=========================================>
ii  accountsservice                               0.6.55-0ubuntu12~20.04.2              amd64        query and manipulate user account informa>
# ......
ii  amd64-microcode                               3.20191218.1ubuntu1                   amd64        Processor microcode firmware for AMD CPUs
ii  anacron                                       2.3-29                                amd64        cron-like program that doesn't go by time
# ......
ii  xserver-xorg-video-vesa                       1:2.4.0-2                             amd64        X.Org X server -- VESA display driver
ii  xserver-xorg-video-vmware                     1:13.3.0-3                            amd64        X.Org X server -- VMware display driver
ii  xul-ext-ubufox                                3.4-0ubuntu1.17.10.1                  all          Ubuntu modifications for Firefox

查看某个确切的安装包名

$ dpkg -l | grep 'skype' # 查看准确的软件包名
ii  skypeforlinux                                 8.66.0.74                             amd64        Skype keeps the world talking, for free.

snap

$ snap list
Name                     Version                     Rev    Tracking         Publisher     Notes
android-studio-canary    4.2.0.8                     11     latest/stable    snapcrafters  classic
bluez                    5.48-1                      229    latest/stable    canonical✓    -
canonical-livepatch      9.5.5                       95     latest/stable    canonical✓    -
# ......
gtk-common-themes        0.1-36-gc75f853             1506   latest/stable/…  canonical✓    -
intellij-idea-community  2020.2.3                    257    latest/stable    jetbrains✓    classic
scrcpy                   v1.16                       254    latest/stable    sisco311      -
snap-store               3.36.0-82-g80486d0          481    latest/stable/…  canonical✓    -
teams-for-linux          1.0.5                       105    latest/stable    alarconj      -
vlc                      3.0.11                      1700   latest/stable    videolan✓     -

deb软件安装

DEB文件是Debian系列发型版本的软件安装文件。

安装

.deb文件的安装,使用dpkg.

$ sudo dpkg -i package_name.deb
  • -i 用于交互

例如:

$ sudo dpkg -i '/home/sanren1024/Downloads/wps-office_11.1.0.10702_amd64.deb' 
[sudo] password for xacsz: 
(Reading database ... 224461 files and directories currently installed.)
Preparing to unpack .../wps-office_11.1.0.10702_amd64.deb ...
Unpacking wps-office (11.1.0.10702) over (11.1.0.10161) ...
Setting up wps-office (11.1.0.10702) ...
Processing triggers for shared-mime-info (1.15-1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for fontconfig (2.13.1-2ubuntu3) ...

移除

$ sudo dpkg -r package_name

bin软件安装

bin是二进制文件,在Ubuntu下可以直接运行安装,其默认安装目录即bin文件所在目录下。

  1. 一般情况,下载下来的文件没有执行权限,在执行安装前需要先有执行权限。

    -rw-rw-r-- 1 nn nn  40553630 Oct  9 09:51 genymotion-3.1.2-linux_x64.bin
    

    需要使用chmod赋予文件执行权限。

    $ chmod +x '/home/nn/Softwares/Common/genymotion-3.1.2-linux_x64.bin'
    

    执行后查看权限。

    -rwxrwxr-x 1 nn nn  40553630 Oct  9 09:51 genymotion-3.1.2-linux_x64.bin*
    
  2. 将文件copy到想要安装目录位置。

  3. 执行bin文件。

    $ sudo ./genymotion-3.1.2-linux_x64.bin
    

bundle软件安装

bundle文件本质上是shell脚本文件,它在安装时自行减压缩进行程序的安装。

安装时,进入到文件目录,直接运行即可。

$ sudo ./VMware-Horizon-Client-2006-8.0.0-16522670.x64.bundle

压缩包

tar

  1. 减压缩:

    $ tar -xvf aosp-latest.tar
    

tar.gz

  1. 查看压缩包内容:

    $ tar -tvf ideaIC-2020.2.tar.gz
    
    • -t , --list 操作模式,列举压缩包内容;
    • -v, --verbose 信息输出格式,列举处理文件的冗长信息;
    • -f, --file=AECHIVE 使用归档文件或者设备归档(这个文字不好解释)
  2. 减压缩:

    $ tar -xvf ideaIC-2020.2.tar.gz
    
    • -x, --extract, --get 从压缩文件中提取;
  3. 减压到指定目录:

    $ tar -xvf nexus-3.26.1-02.tar.gz -C <directory>
    

zip

安装zip工具。

sudo apt-get install zip gzip tar
  1. 压缩

    $ zip -r [压缩包名].zip [文件夹名]
    
  2. 减压缩:

    $ unzip commandlinetools-linux-6609375_latest.zip
    

    不用任何参数,直接进行减压缩操作。

  3. 仅查看zip包内容:

    $ zipinfo -l gradle-6.6-all.zip
    

    列出zip保内所有文件(含路劲等详细信息)。
    一下是 gradle-6.6-all.zip包输出的部分数据。

     Archive:  gradle-6.6-all.zip
     Zip file size: 145159735 bytes, number of entries: 12387
     drwxr-xr-x  2.0 unx        0 b-        2 defN 80-Feb-01 00:00 gradle-6.6/
     -rw-r--r--  2.0 unx    23606 b-     6502 defN 80-Feb-01 00:00 gradle-6.6/LICENSE
     -rw-r--r--  2.0 unx      803 b-      344 defN 80-Feb-01 00:00 gradle-6.6/NOTICE
     -rw-r--r--  2.0 unx      976 b-      489 defN 80-Feb-01 00:00 gradle-6.6/README
     drwxr-xr-x  2.0 unx        0 b-        2 defN 80-Feb-01 00:00 gradle-6.6/init.d/
     -rw-r--r--  2.0 unx       99 b-       82 defN 80-Feb-01 00:00 gradle-6.6/init.d/readme.txt
     drwxr-xr-x  2.0 unx        0 b-        2 defN 80-Feb-01 00:00 gradle-6.6/bin/
     -rwxr-xr-x  2.0 unx     5756 b-     2294 defN 80-Feb-01 00:00 gradle-6.6/bin/gradle
     -rwxr-xr-x  2.0 unx     2753 b-     1184 defN 80-Feb-01 00:00 gradle-6.6/bin/gradle.bat
     drwxr-xr-x  2.0 unx        0 b-        2 defN 80-Feb-01 00:00 gradle-6.6/lib/
     -rw-r--r--  2.0 unx    15308 b-    14262 defN 80-Feb-01 00:00 gradle-6.6/lib/gradle-runtime-api-info-6.6.jar
     -rw-r--r--  2.0 unx     1605 b-      565 defN 80-Feb-01 00:00 gradle-6.6/lib/gradle-installation-beacon-6.6.jar
    

bin

  1. 先将bin文件赋予可执行权限,再执行bin文件安装:

    $ sudo chmod +x genymotion-3.1.1-linux_x64.bin
    $ sudo ./genymotion-3.1.1-linux_x64.bin
    

    再根据提示安装。

  2. 卸载bin安装的软件:进入安装目录删除即可。

tar.bz2

  1. 减压缩:

    $ tar -xvjf xx.tar.bz2
    

图片

webp转换

使用cwebp命令将图片转换为WebP格式。可以使用下面的命令将一张PNG/JPG格式图片转换成WebP图片,使用80的质量压缩。

首先安装cwebp.

$ sudo apt install cwebp

将一张720*1280图片转换。

$ cwebp -q 100 '/home/nn/Pictures/screencap_1.png' -o '/home/nn/Pictures/screencap_1.webp'
Saving file '/home/nn/Pictures/screencap_1.webp'
File:      /home/nn/Pictures/screencap_1.png
Dimension: 720 x 1280
Output:    45134 bytes Y-U-V-All-PSNR 61.04 59.99 60.22   60.70 dB
block count:  intra4: 981
              intra16: 2619  (-> 72.75%)
              skipped block: 2719 (75.53%)
bytes used:  header:            496  (1.1%)
             mode-partition:   4304  (9.5%)
 Residuals bytes  |segment 1|segment 2|segment 3|segment 4|  total
    macroblocks:  |      100%|       0%|       0%|       0%|    3600
      quantizer:  |       0 |       0 |       0 |       0 |
   filter level:  |       0 |       0 |       0 |       0 |


上述为转换前后的文件大小对比,未改变压缩质量。

JPG转换

首先安装imagemagick

$ sudo apt-get install imagemagick

然后使用convert将png图片转为jpg图片。

$ convert '/home/nn/Pictures/screencap_1.png' '/home/nn/Pictures/screencap_1.jpg'


转换后的 jpg 图片比原来小了一倍多,原因在于 PNG 中带有ALPHA数据信息。

可是使用参数 -quality指定压缩质量。

$ convert '/home/nn/Pictures/screencap_1.png' -quality '/home/nn/Pictures/screencap_1.jpg'

也可以指定输出的图片大小,使用-resize

$ convert '/home/nn/Pictures/screencap_1.png' -resize 360x480  '/home/nn/Pictures/screencap_1.png'

目录

mkdir

创建目录有时,在不熟悉情况下,会 逐级进入 目标目录,然后执行一次 mkdir 命令进行目录创建。

实际情况下是,可以使用参数来创建多级目录,使用参数 -p,配合 -v 打印信息。

$ mkdir -pv packages/apps/nn/dev_keys/po/

这里原来的 po 目录是不存在的。执行命令后,命令行显示:

mkdir: created directory 'packages/apps/nn/dev_keys/po'

授权chmod

将一个目录权限修改为全局可以读写执行,包含子目录。

$ sudo chmod 777  battery-historian/ -R

-R 即表示目录的子目录,递归。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VoidHope

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值