ubuntu下常用命令

目录

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

ubuntu下常用命令

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

上一篇:Linux环境下vi/vim编辑器常用命令


下一篇:VIM编辑器常用命令