• ubuntu下常用命令


    一、查找命令

    1、whereis
    whereis命令用来查找命令的位置,包括执行文件、源代码和手册页文件。记住:此处为查找位置,相对用的更多。

    2、locate
    可以跟-c 统计查找到的文件数量

    3、find命令
    find pathname -options [-print -exec -ok]
    例如:find ./ notepadqq为查找当前目录下文件名为notepadqq的文件。

    二、打开相应文件

    1、打开pdf文件
    (1)无需安装,ubuntu系统自带evince,命令为:
    $ evince [name_pdf]
    (2)安装FoxitReader软件
    官网下载FoxitReader,然后到下载目录使用下列命令:

    $ cd  ~/Downloads
    $ gzip  -d  FoxitReader_version_Setup.run.tar.gz
    $ tar  -xvf  FoxitReader_version_Setup.run.tar
    $ ./FoxitReader_version_Setup.run
    

    然后可以安装在制定目录了,打开pdf软件命令为:
    (暂时使用时需要右键点击,用FoxitReader打开即可。)

    三、查看系统资源占用

    1、free
    用来显示内存的使用情况,使用权限是所有用户。
    参数:
    -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
    -s delay:显示每隔多少秒数来显示一次内存使用情况。
    -t:显示内存总和列。
    -o:不显示缓冲区调节列。

    2、uptime
    用来显示任务队列信息。
    | 现在的时间 | 系统开机运转到现在经过的时间 | 连线的使用者数量 | 最近一分钟,五分钟和十五分钟的系统负载 |
    11:00:16 up 1 day, 2:24, 4 users, load average: 0.21, 0.25, 0.36

    3、top
    实时地对系统处理器的状态进行监视。
    参数说明:
    d: 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
    p: 通过指定监控进程ID来仅仅监控某个进程的状态。

    4、vmstat
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
    r b swpd free buff cache si so bi bo in cs us sy id wa
    1 0 948544 93988 22672 443688 8 11 51 25 64 87 6 1 91 1

    四、Ubantu解压文件

    (1)zip
    我们可以使用下列的命令压缩一个目录:
    # zip -r archive_name.zip directory_to_compress
    解压一个zip文档:
    # unzip archive_name.zip
    参考:https://my.oschina.net/farces/blog/727564

    (2)TAR
    打包文件/目录:
    # tar -cvf archive_name.tar directory_to_compress
    解包:
    # tar -xvf archive_name.tar.gz
    # tar -xvf archive_name.tar -C /tmp/extract_here/
    参数详解:
    -c 建立压缩档案;
    -x 解压;
    -v 显示所有过程;
    -f 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名;

    (3)TAR.GZ
    压缩:
    # tar -zcvf archive_name.tar.gz directory_to_compress
    解压缩:
    # tar -zxvf archive_name.tar.gz

    (4)TAR.BZ2
    使用tar.bz2进行压缩:
    # tar -jcvf archive_name.tar.bz2 directory_to_compress
    解压缩:
    # tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

    (5)rar
    需要先安装rar解压工具,如下
    sudo apt-get install rar
    sudo apt-get install unrar
    压缩:
    rar x FileName.rar
    解压:
    rar a FileName.rar DirName

    (6)gzip
    使用以下命令直接解压缩成.tar格式,例如:
    gzip -d code-stable-code.tar.gz
    生成code-stable-code.tar,其中-d--decompress是一样的;

    五、虚拟机ubuntu server 14.0 根目录扩容

    1、修改虚拟机设置,把硬盘改为200G

    2、linux终端执行命令

    把新增加的150G(200G - 50G)合并到根目录
    (1)查看当前磁盘列表
    $ fdisk -l
    列表中有以下部分信息:

    Disk  /dev/sda:  214.7GB, 21447483644800 bytes
    
    Device Boot        Start                End           Blocks        Id        System
    /dev/sda1            2048           499711         248832       83           Linux
    /dev/sda2        501758     419430399   209464321         5    Extended
    /dev/sda5        501760     419428351   209463296       8e   Linux LVM
    

    可以看出磁盘/dev/sda已经变成200G多了,但是根目录ubuntu14–vg-root才47.9 GB。大致有150G是未分配的。
    (2)增加新分区
    $ fdisk /dev/sda
    根据提示输入相应的信息(此时输入m可查看help)

    • 1、根据提示先输入 n 并回车,表示增加分区

    • 2、再根据提示输入 p 并回车,表示主分区

    • 3、根据提示输入磁盘分区号,我不输入直接回车,默认3

    • 4、输入磁盘分区的起始物理地址,上面sda1、sda2、sda5的最大物理地址是419428351,所以这里我输入419428352,表示新的分区的地址时接在后面的

    • 5、输入磁盘分区的结束物理地址,这里直接回车就好,默认是最末的物理地址,这样能把后面的所有空间全部包含进来

    • 6、输入 w 并回车,开始写分区并退出

    (3)再次查看磁盘列表

    $ fdisk -l

    发现多了一个磁盘/dev/sda3,但是ubuntu14–vg-root还是47.9 GB;

    (4)重新读取分区表

    partprode /dev/sda

    (5)格式化分区

    mkfs -t ext3 /dev/sda3

    (6)新建物理卷

    先执行 pvdisplay 发现物理卷还没有刚才新建的sda3,执行以下命令创建:

    pvcreate /dev/sda3

    再执行 pvdisplay 就发现已经有sda3了

    (7)把sda3添加到卷组

    先执行 vgdisplay 查看卷组,有以下信息

    VG Name ubuntu14-vg
    卷组名称是ubuntu14-vg,执行以下命令
    vgextend ubuntu14-vg /dev/sda3
    再执行 vgdisplay 查看,有以下信息
    Free PE / Size 39218 / 153.20 GiB
    (8)开始扩容根目录
    lvs
    信息列表中,VG 有 ubuntu14-vg ,LV 有 root ,这就是要扩容的根目录。执行以下命令:

    vextend -L +150G /dev/ubuntu14-vg/root /dev/sda3 
    resize2fs /dev/ubuntu14-vg/root
    

    支持根目录扩容完毕。可以验证一下。
    输入 fdisk -l 结果为:
    Disk /dev/mapper/ubuntu14--vg-root: 208.9 GB, 208914087936 bytes
    输入 df -h 结果为:
    /dev/mapper/ubuntu14--vg-root 192G 34G 150G 19% /
    验证完毕!

    七、ubuntu 关机,重启,注销命令

    1 关机命令 shutdown

      好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令

    • shutdown –help
        可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。
    • shutdown -h now 现在立即关机
    • shutdown -r now 现在立即重启
    • shutdown -r +3 三分钟后重启
    • shutdown -h +3 “The System will shutdown after 3 minutes” 提示使用者将在三分钟后关机
    • shutdown -r 20:23 在20:23时将重启计算机
    • shutdown -r 20:23 & 可以将在20:23时重启的任务放到后台去,用户可以继续操作终端

    2 中断命令

    • 执行完命令后(若没有转到后台),可以使用CTRL+C来中止命令

    • kill 程序编码
      当命令在后台执行时系统会返回一个程序编码,例如:在使用 shutdown -r 20:23 & 系统返回系统编码:4905
      我们可以使用kill 4905来中止重启命令

    • ps aux | grep 程序编号
      我们如果知道程序的编号,我们可以使用ps aux |grep 程序编号来查询该程序编号对应的命令是什么。
      例如上面的程序编号为4905 ,我们可以使用ps aux | grep 4905 就可以查到 shutdown -r 20:23 & 的命令

    • halt—-最简单的关机命令
      其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

    参数说明:
    [-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
    [-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
    [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
    [-f] 没有调用shutdown而强制关机或重启。
    [-i] 关机〔或重启〕前﹐关掉所有的网络接口。
    [-p] 该选项为缺省选项。就是关机时调用poweroff。
    
    • init----init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。
      shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

    • Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:

    [root@localhost root]#logout
    Red Hat Linuxrelease 9(Shike)
    Kernel 2.4.20.8 on an i686
    Login: ← 回到登陆的画面
    

    八、 总结:监听进程的端口号过程

    查看端口使用情况,使用netstat命令。
    (1)查看已经连接的服务端口(ESTABLISHED)
         `netstat -a`
    (2)查看所有的服务端口(LISTEN,ESTABLISHED)
              `netstat -ap`
    
    (3)查看8080端口,则可以结合grep命令:
    
              `netstat -ap | grep 8080`
    
    (3)如查看8888端口,则在终端中输入:
    
              `lsof -i:8888`
    
    [root@localhost ~]# lsof -i :80
    
    COMMAND   PID   USER   FD   TYPE   DEVICE SIZE NODE NAME
    httpd   13450 apache    4u IPv6 13312087       TCP *:http (LISTEN)
    httpd   13451 apache    4u IPv6 13312087       TCP *:http (LISTEN)
    
    

    若要停止使用这个端口的程序,使用kill +对应的pid即可

    九、使用ubuntu分析磁盘使用情况

    安装图形工具Baobab,命令如下:
    sudo apt-get install baobab
    安装完毕后,会分类至应用程序, 系统工具, 磁盘分析器,或者,直接使用下列命令,在终端中运行baobab。
    baobab

    十、远程拷贝命令scp

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
    (1)命令格式:
    $ scp [参数] [原路径] [目标路径]
    (2)命令功能:
    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
    (3)使用实例:
    a、从本地服务器复制到远程服务器
    $scp local_file remote_username@remote_ip:remote_folder
    $scp local_file remote_username@remote_ip:remote_file
    $scp local_file remote_ip:remote_folder
    $scp local_file remote_ip:remote_file
    第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名
    第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名

    b、从远程服务器复制到本地服务器
    从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。例如:
    $scp remote_username@remote_ip:remote_folder local_file
    $scp root@192.168.120.204: /opt/soft/nginx-0.5.38.tar.gz /opt/soft

    十一、如何启动、关闭和设置ubuntu防火墙

    由于LInux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw。

    ubuntu 9.10默认的便是UFW防火墙,它已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。

    (1)安装

    sudo apt-get install ufw

    (2)启用:在系统启动时自动开启,关闭外部对本机的访问,但本机王文外部正常。

    sudo ufw enable

    sudo ufw default deny

    (3)开启/禁用

    语法:sudo ufw allow | deny [servixe]

    打开或者关闭某个端口:

    sudo ufw allow smtp允许所有外部IP访问本机的25/tcp(smtp)端口

    sudo ufw allow 22/tcp允许所有外部IP访问本机的25/tcp(ssh)端口

    sudo ufw allow 53允许外部访问53端口

    sudo ufw allow from 192.168.0.1允许此IP访问所有的本机端口

    (4)查看防火墙状态

    sudo ufw status

    十二、linux下使用convert命令修改图片分辨率

    Convert的resize子命令应该是在ImageMagick中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:
    命令格式:convert -resize widthxheight src.jpg dst.jpg
    例如:convert -resize 240x240 34100.jpg 10000.jpg
    默认都是使用像素作为单位,也可以使用百分比,参考:linux下使用convert命令修改图片分辨率

    十三、ubuntu下安装Google浏览器

    (1)下载deb包
    针对64位x86架构:
    wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    (2)安装deb包
    sudo dpkg -i google-chrome-stable_current_amd64.deb
    (3)要是软件依赖出现问题,则修复依赖
    sudo apt-get -f install
    ----接下来出现什么问题就查询对应答案,一般直接就会安装成功----

    十四、linux指令add-apt-repository ppa:xxx/ppa

    这句话的意思是获取最新的个人软件包档案源,将其添加至当前apt库中,并自动导入公钥;
    例如,安装notepadqq,命令为
    sudo add-apt-repository ppa:notepadqq-team/notepadqq

    十五、将ubuntu下的.deb包转变为centos下的.rpm包(centos操作系统下处理)

    (1)需要安装alien工具:(记住默认为同一个目录,除了cd进入另一个目录)
    $ wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.92.tar.gz
    $ tar zxvf alien_8.92.tar.gz
    $ cd alien
    $ sudo yum install perl
    $ sudo yum install per-ExtUtils-CBuilder per-ExtUtils-MakeMaker
    $ perl Makefile.PL
    $ make
    $ sudo make install
    (2)进行转换deb->rpm
    cd到deb包所在目录;
    $ sudo yum install rpm-build
    可能会出现问题,此时更新以下yum,sudo yum update
    $ alien -r ***.deb
    rpm -ivh ***.rpm
    (3)如果出现缺少动态库.so文件,则进行以下操作:
    wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
    rpm -Uvh epel-release*.rpm
    yum install qt5-qtwebkit 安装此QtWebKit,提供Web浏览器引擎;

    参考文献:https://www.cnblogs.com/jackluo/p/3416648.html
    参考文献:https://blog.csdn.net/kenny_lz/article/details/78884603

    (4)如果安装时出现依赖错误
    建议使用sudo yum install ***.rpm代替rpm -ivh ***.rpm,这样能够自动解决依赖问题,而不用专门安装特定的软件包;
    参考:https://www.cnblogs.com/huidaoli/articles/3733523.html

    十六、挂载硬盘

    如果硬盘已经分区,操作以下命令:
    vim /etc/fstab 永久性挂载配置

    # / was on /dev/sda8 during installation
    UUID=1ec76666-3c49-4ded-a8f9-19c98c0c655d / ext4 errors=remount-ro 0 1
    # /boot/efi was on /dev/sda3 during installation
    UUID=C2B8-E262 /boot/efi vfat umask=0077 0 1
    # /home was on /dev/sda9 during installation
    UUID=dbc3a9e8-6227-46c8-9c8c-4be40623c761 /home ext4 defaults 0 2
    # swap was on /dev/sda7 during installation
    UUID=31b3801a-a1db-406b-8811-13cb9082a83a none swap sw 0 0
    # /storage programer
    UUID=286fb0dd-4c95-4942-898d-d1fd10cc8f56 /usr ext4 defaults 0 0
    

    其中
    参考:Linux 添加硬盘和挂载
    参考:企业宝

    十七、内存同步命令sync

    在Linux/Unix系统中,在文件或数据处理过程中一般先存放到内存缓冲区中,以提高系统的运行效率。
    sync命令可以用来强制将内存缓冲区中的数据立即写入磁盘中。
    系统一般会自动执行update或bdflush操作,将缓冲区的数据写入磁盘。只有在这两种命令无法执行时,才需手动执行sync命令。

    十八、检测系统命令vrim

    vrim能够检测出系统安装了多少非自由软件,能够以百分比的形式显示。

    十九、设置屏幕显示(主屏、副屏、扩展屏)

    (1)查看屏幕显示器:xrandr

    Screen 0: minimum 320 x 200, current 2806 x 900, maximum 8192 x 8192
    eDP-1 connected 1366x768+1440+0 (normal left inverted right x axis y axis) 344mm x 194mm
       1366x768 60.00*+
       1360x768 59.80 59.96  
    VGA-1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 257mm
       1440x900 59.61*+
       1280x1024 75.02 60.02  
    HDMI-1 disconnected (normal left inverted right x axis y axis)
    

    如图,有三种屏幕接口,名称为:eDP-1, VGA-1, HDMI-1(本机主屏为ieDP-1,副屏为VGA-1)
    (2)设置主屏
    xrandr --output eDP-1 --auto --primary
    其中auto表示自动分辨率,primary是主屏,eDP-1是笔记本显示屏的名字
    (3)设置副屏为右扩展屏
    xrandr --output eDP-1 --right-of VGA-1 --auto
    (4)克隆显示双屏
    xrandr --output VGA-1 --same-as eDP-1 --auto
    (5)关闭显示屏
    xrandr --output VGA-1 --off

    二十、ubuntu增加swap交换空间

    参考:https://www.linuxidc.com/Linux/2010-09/28915.htm(linux公社)
    (1)查看系统swap分区
    free -m
    (2)创建swap文件
    mkdir /swap
    cd /swap
    sudo dd if=/dev/zero of=swap bs=1024 count=20000000
    (3)把生成的文件转换成Swap文件
    sudo mkswap -f swap
    (4)激活Swap文件
    sudo swapon swap
    free -m
    (5)卸载swap 文件
    sudo swapoff /swap/swap
    (6)永久保持swap
    可以把这个文件写入/etc/fstab,格式为:
    /swap/swap none swap defaults 0 0

    二十一、pdf操作软件pdftk

    pdftk是一个命令行程序,使用计算机终端进行操作.
    (1)将223页的pdf拆分
    pdftk 123.pdf cat 1-45 output out1_45.pdf
    pdftk 123.pdf cat 46-90 output out46_90.pdf
    等等
    pdftk A=in.pdf cat A2-20 output out.pdf
    (2)将多个pdf合并
    pdftk A=in1.pdf B=in2.pdf cat A1 B2-20even output out.pdf
    (3)移除pdf中的某一页
    pdftk in.pdf cat A1-12 A14-end output out1.pdf

    二十二、进程查找ps

    ps -ef | grep libreoffice查找libreoffice的所有进程,包括父进程和子进程。

    二十三、查看系统版本

    (1)cat /proc/version
    (2)uname -a
    (3)cat /etc/issue
    (4)lsb_release -a

    二十四、查看Linux硬盘是ssd还是hdd

    (1)cat /sys/block/*/queue/rotational
    判断cat /sys/block//queue/rotational的返回值(其中为你的硬盘设备名称,例如sda等等),如果返回1则表示磁盘可旋转,那么就是HDD了;反之,如果返回0,则表示磁盘不可以旋转,那么就有可能是SSD了。
    (2)lsblk
    使用lsblk命令进行判断,参数-d表示显示设备名称,参数-o表示仅显示特定的列。

    二十五、Linux下查看nvidia的GPU使用情况和内存使用情况

    (1)显示GPU使用情况
    nvidia-smi
    (2)周期性输出GPU使用情况
    watch -n 10 nvidia-smi 每隔10秒显示一次显存情况
    (3)显示cpu使用情况
    top
    参考:https://blog.csdn.net/jasonzzj/article/details/52649174
    https://blog.csdn.net/daiyudong2020/article/details/52760993

    二十六、Linux查看物理CPU个数、核数、逻辑CPU个数

    *总核数 = 物理CPU个数 X 每颗物理CPU的核数 *
    总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
    (1)查看物理CPU个数
    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
    (2)查看每个物理CPU中core的个数(即核数)
    cat /proc/cpuinfo| grep "cpu cores"| uniq
    (3)查看逻辑CPU的个数
    cat /proc/cpuinfo| grep "processor"| wc -l

  • 相关阅读:
    同步与异步接口
    教你用 WEB SPEECH API 和 node.js 创建 一个简单的AI
    face ++ 人脸识别技术初步
    php ddos 安全处理代码
    基于GBT28181:SIP协议组件开发-----------第五篇SIP注册流程eXosip2实现(二)
    基于GBT28181:SIP协议组件开发-----------第四篇SIP注册流程eXosip2实现(一)
    基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现
    基于GBT28181:SIP协议组件开发-----------第二篇SIP组件开发原理
    基于GBT28181:SIP协议组件开发-----------第一篇环境搭建
    qt二维码示例
  • 原文地址:https://www.cnblogs.com/hugechuanqi/p/9697117.html
Copyright © 2020-2023  润新知