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
(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
是一样的;
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的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令。
执行完命令后(若没有转到后台),可以使用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时的信息和等待时间。
[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即可
安装图形工具Baobab,命令如下:sudo apt-get install baobab
安装完毕后,会分类至应用程序, 系统工具, 磁盘分析器,或者,直接使用下列命令,在终端中运行baobab。baobab
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
由于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
Convert的resize子命令应该是在ImageMagick中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:
命令格式:convert -resize widthxheight src.jpg dst.jpg
例如:convert -resize 240x240 34100.jpg 10000.jpg
默认都是使用像素作为单位,也可以使用百分比,参考:linux下使用convert命令修改图片分辨率
(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
----接下来出现什么问题就查询对应答案,一般直接就会安装成功----
这句话的意思是获取最新的个人软件包档案源,将其添加至当前apt库中,并自动导入公钥;
例如,安装notepadqq,命令为sudo add-apt-repository ppa:notepadqq-team/notepadqq
(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 添加硬盘和挂载
参考:企业宝
在Linux/Unix系统中,在文件或数据处理过程中一般先存放到内存缓冲区中,以提高系统的运行效率。
sync命令可以用来强制将内存缓冲区中的数据立即写入磁盘中。
系统一般会自动执行update或bdflush操作,将缓冲区的数据写入磁盘。只有在这两种命令无法执行时,才需手动执行sync命令。
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
参考: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
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 -ef | grep libreoffice
查找libreoffice的所有进程,包括父进程和子进程。
(1)cat /proc/version
(2)uname -a
(3)cat /etc/issue
(4)lsb_release -a
(1)cat /sys/block/*/queue/rotational
判断cat /sys/block//queue/rotational的返回值(其中为你的硬盘设备名称,例如sda等等),如果返回1则表示磁盘可旋转,那么就是HDD了;反之,如果返回0,则表示磁盘不可以旋转,那么就有可能是SSD了。
(2)lsblk
使用lsblk命令进行判断,参数-d表示显示设备名称,参数-o表示仅显示特定的列。
(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
总核数 = 物理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