最实用的Linux命令总结

1.linux安装中文环境(可选)

联网之后执行:sudo yum groupinstall chinese-support,安装完语言包之后修改/etc/sysconfig/i18n文件,修改LANG="zhCN.UTF-8"。如果只想对当前登录用户有效请编辑~/.bashrc文件,在最后加入:export LANG="zhCN.UTF-8"

2. 一些杂项2.1监听网络端口

netstat -nltp 比如可以看3306是否存在来确定mysql是否启动service network status 可以查看某个服务的运行状态

2.2查看进程树

pstree每新开一个命令行窗口都有一个新的bash

2.3set命令

set会显示当前环境中所有的变量包含系统变量和用户变量。export 变量名 会将这个变量提升为全局环境变量,供其它shell使用,完事之后source会把export指令输出一遍,比如source /etc/profile

3.网络连接方式

VMware虚拟机三种联网方法及原理

3.1Brigde——桥接:默认使用VMnet0

这一种联网方式最简单,在局域网内,你的主机是怎么联网的,你在虚拟机里就怎么连网。把虚拟机看成局域网内的另一台电脑就行了! (备注:我在公司用这种方式连接,配置静态IP无法上网,动态获取ip可以)提示:主机网卡处在一个可以访问Internet的局域网中,虚拟机才能通过Bridge访问Internet。

3.2NAT——网络地址转换 :默认使用VMnet8

NAT 是 Network address translate的简称。NAT技术应用在internet网关和路由器上,比如192.168.0.123这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。此技术解决了IP地址稀缺的问题。VMWare的NAT上网也是同样的道理,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。 联网方式:

动态IP地址: 主机是静态IP或动态IP,都无所谓,将虚拟机设置成使用DHCP方式上网,Windows下选择“自动获取IP“,linux下开启DHCP服务即可。(这种方法最简单,不用过多的设置,但要在VMware中进行“编辑虚拟网络设置”,将NAT和DHCP都开启了。一般NAT默认开启,DHCP默认关闭)

静态IP地址: 如果不想使用DHCP,也可以手动设置:IP设置与vmnet1同网段,网关设置成vmnet8的网关(在“虚拟网络设置”里的Net选项卡里能找到Gateway)通常是xxx.xxx.xxx.2,子网掩码设置与VMnet8相同(设置好IP地址后,子网掩码自动生成),DNS设置与主机相同。 #### 3.3Host-Only——私有网络共享主机:默认使用VMnet1 只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet,就要采用这个设置了。 联网方法:

动态IP地址: 像上面那样开启DHCP后,虚拟机直接自动获取IP地址和DNS。就可以和主机相连了。当然,还要进行一些局域网共享的操作,这里不再赘述。

方法2、静态IP地址:

也可以手动设置,将虚拟机IP设置与VMnet1同网段,网关设置成VMnet1的网关相同,其余设置与VMnet1相同,DNS设置与主机相同。 例如:VMnet1 IP:172.16.249.1 Gateway :172.16.249.2   那么虚拟机 IP:172.16.249.100 Gateway: 172.16.249.2

4.修改网络和主机配置

修改ip地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0

service network restart 修改之后重启

修改主机 vi /etc/sysconfig/network

修改ip地址和主机名的映射关系 vi /etc/hosts

关闭iptables(防火墙)并设置其开机启动/不启动

注意:如果在xshell中可以ping通你的linux主机,却无法连接,多半是被防火墙拦截了。通过chkconfig指令可以查询哪些进程是开机自启动的

5.查询用户密码

cat /etc/passwd

root,密码是占位符x,用户id是0,组id是0,root是别名,/root是家目录,/bin/bash默认用的shell解析器。用户id为0的超级用户,大于等于500的是超级用户,小于500的是伪用户,不能登录,但是它操作的时候也是以一个用户的身份,比如mysql就是以mysql用户的身份。cat /etc/group 可以查看所有的组linux查看帮助:ls --help wc --help

6.防火墙iptables

iptables也叫netfilter,从字面上也不难理解,它是对网络进行过滤的。防火墙(iptables)可以对流入,流出,流经服务器的数据包进行精细的控制。它的底层由四张表构成,分别是filter,nat,mangle和raw,每一张表都包含不同的链,最常用的是filter表。我一般把防火墙理解成过滤ip的表。

6.1基本操作

查看iptables状态

开启/关闭iptables

查看iptables是否开机启动

设置iptables开机启动/不启动

查看帮助

6.2规则配置

清除所有规则

-重启iptables发现规则依然存在,那是因为没有保存

保存配置规则

使用vim编辑器编辑规则 vim /etc/sysconfig/iptables

解释一下含义

其它还有一些规则比如匹配某些端口范围或者多个端口的,可以去网上搜,不记太多不常用的命令。

7.帮助命令

1.内部命令:echo查看内部命令帮助:help echo 或者 man echo2.外部命令:ls查看外部命令帮助:ls --help 或者 man ls 或者 info ls3.man文档的类型(1~9)man 7 manman 5 passwd4.快捷键:ctrl + c:停止进程ctrl + l:清屏ctrl + r:搜索历史命令ctrl + q:退出5.善于使用tab键

8.文件相关命令8.1ls命令

-a all全部的,包含隐藏文件-l long长的,表示详细信息-d directory目录,查看目录的信息文件类型drwxr-xr-x 2 root root 4096 10月5 08:24 bin第一个表示文件类型d directory 目录-binary 二进制文件l link 软链接文件rwx r-x r-xr read 读w write 写x execute 执行三组代表三种权限所有者u(user,onwer,谁创建谁是所有者) 所属组g(group) 其他人o(others)2代表硬链接数第一个root代表所有者第二个root代表所属组4096代表文件大小,不是准确数值,数据块,存储数据的最小单位,默认512字节10月5 08:24 创建时间或最后修改时间bin 文件名或目录类名

8.2cd命令

cd change directory 切换目录cd / 切换到根目录cd .. 切换到上级目录

8.3pwd命令

pwd print working directory 打印当前所在的目录

8.4 touch命令

touch 创建空文件touch newFile

8.5mkdir命令

mkdir make directories 创建目录mkdir newDir

8.6cp命令

cp copy复制文件cp 原文件地址 目标文件地址cp /etc/servers /test 将etc目录下的servers文件复制到test目录下;cp -R /etc /test 使用-R是复制目录的,将etc目录复制到test目录下;scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝,scp是远程拷贝命令

8.7mv命令

mv a.txt /ect/ 移动mv b.txt a.txt 改名mv a.txt ../b.txt 移动并改名

8.8rm命令

rm remove删除文件rmdir 删除空目录(使用较少)rm file1 删除文件1rm -r dir1 删除目录1,记得加-r

8.9ln命令

ln link产生链接文件ln -s 产生软链接,不加-s产生硬链接ln -s /etc/issue /issue.soft创建issue文件的软链接issue.soft,软链接相当于windows系统的快捷方式ln /etc/issue /issue.hard创建issue的硬链接issue.hard,硬链接相当于拷贝,除了时间不同

9.文件查看编辑命令9.1cat命令

cat fileName 不能分页,一次展示文件内容

9.2more命令

more 分页显示文件more /etc/services空格或f 显示下一页Enter 显示下一行q或Q 退出

9.3head命令

head 显示文件前几行head -20 /etc/services 显示services文件前20行 不加默认显示前十行

9.4tail命令

tail 显示文件后几行tail -30 /etc/servicestail -f logs.log 一直滚动显示logs.log的后几行(f follow)用于查看日志

9.5less命令

比more功能更强大,可以搜索,可以直接进入vi编辑器中回车键 向下移动一行空格键 向下滚动一屏b 向上滚动一屏g 跳到第一行G 跳到最后一行/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词v 进入vi编辑器q 退出less

9.6vim命令

最基本用法 vi somefile 1、首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容 2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容 3、编辑完成之后,按Esc键退出编辑模式,回到一般模式; 4、再按:,进入“底行命令模式”,输入wq命令(或者shift+z+z),回车即可

一些有用的快捷键(在一般模式下使用): a 在光标后一位开始插入 A 在该行的最后插入 I 在该行的最前面插入 gg 直接跳到文件的首行 G 直接跳到文件的末行 dd 删除行,如果 5dd ,则一次性删除光标后的5行 yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行 p 粘贴 v 进入字符选择模式,选择完成后,按y复制,按p粘贴 ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴 shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴 :set number 显示行号 :set nonumber 不显示行号 查找并替换(在底行命令模式中输入) %s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888 /you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)

10.系统相关命令10.1查看主机名

hostname

10.2修改主机名

(重启后无效)hostname magic修改主机名(重启后永久生效)vi /ect/sysconfig/network

10.3修改IP

(重启后无效)ifconfig eth0 192.168.12.22修改IP(重启后永久生效)vi /etc/sysconfig/network-scripts/ifcfg-eth0

10.4查看系统信息

uname -auname -r

10.5日期

datedate +%Y-%m-%ddate +%Tdate +%Y-%m-%d" "%T

10.6日历

cal 2012

10.7挂载硬盘

mountumount加载windows共享mount -t cifs //192.168.1.100/tools /mnt

10.8查看文件大小

du -hdu -ah

10.9查看分区

df -h

10.10ssh连接其它服务器10.11关机和重启

shutdown -h now /init 0/halt 关机命令shutdown -r now /reboot 重启命令

11用户和用户组相关命令11.1添加一个tom用户,设置它属于users组,并添加注释信息

分步完成:useradd tomusermod -g users tomusermod -c "hr tom" tom一步完成:useradd -g users -c "hr tom" tom

11.2设置tom用户的密码

passwd tom

11.3修改tom用户的登陆名为tomcat

usermod -l tomcat tom

11.4将tomcat添加到sys和root组中

usermod -G sys,root tomcat

11.5查看tomcat的组信息

groups tomcat

11.6添加一个jerry用户并设置密码

useradd jerrypasswd jerry

11.7添加一个名为america的组

groupadd america

11.8将jerry添加到america组中

usermod -g america jerry

11.9将tomcat用户从root组和sys组删除

gpasswd -d tomcat rootgpasswd -d tomcat sys

11.10将america组名修改为am

groupmod -n am america

12权限相关命令12.1 chmod命令

chmod change the permissions mode of a file改变文件或者目录的权限chmod u+r 给所有者增加读权限g-w 给所属组减去写权限o=x 不管其他人是什么权限,置为执行权限u 代表所有者 g所属组 o其他人例如 chmod u+r a 给a文件的所属者添加读权限但是,通常使用数字表示r-4 w-2 x-1rwxr-xr-- 代表的就是754例如:将/apps目录下的所有文件与子目录皆设为任何人可读取chmod -R a+r /apps (a代表的就是all)将/apps目录下的所有文件与子目录的拥有者设为root,用户拥有组为userschown -R root:users /apps

12.2 rwx权限解析

对于文件来说r 查看文件内容,命令 cat,more,head,tailw 修改文件内容,命令echo,vix 执行文件,包括命令或者脚本对于目录来说r 列出目录中的内容,命令lsw 在目录中创建和删除文件,想要删除文件,即使对这个文件有写权限也不行,只能修改文件,必须要对目录有w权限,才可以删除目录下的文件,命令mkdir,touch,rmx 可以进入目录,命令cd.所以可以看到对于一个目录文件一般都由rwx权限,不然死活都进不去的

12.3chown命令

chown change file ownership 改变文件或目录的所有者chown nobody file1 改变file1的所有者nobody 注意所有者不能随便写,必须是系统中存在的用户,例如nobody就是系统自带的用户,类似于windows的guest引入知识点

切换用户,命令:su - 用户名 例如su - root 切换到root用户

添加用户,命令:useradd 用户名 例如useradd hair 添加hair用户之后设置密码让他登陆,命令:passwd 密码

12.4chgrp命令

chgrp change file group owership 改变文件或目录的所属组chgrp adm file1 改变file1的所属组为adm adm是系统自带的缺省组

12.5umask命令

umask 显示或折这文件的缺省权限直接umask显示的结果:0022解析0022首个0是特殊权限位后面的022为权限掩码值777-022=755 表示所有者有读写执行权限,所属组和其他人有读执行权限。可以使用这样来修改创建文件的默认权限,例如umask -027 则新创建的文件或者目录所有者是读写执行,用户组是读,执行,其他人什么权限也没有还可以直接使用umask -S命令,结果u=rwx,g=rx,o=rx

13查找相关命令13.1 which命令

which 命令名称 显示命令所在目录which ls 查找可执行的命令whereis 命令名称 显示命令所在目录,二者的区别是which可以显示出命令的别名,whereis可以显示出命令所在的帮助文档。使用这个命令可以查看目录所在位置,进而知道命令是超级用户(sbin)或者普通用户(bin)可以执行的。whereis ls 查找可执行的命令和帮助的位置

13.2find命令

语法:find 搜索路径 搜索关键字 查找文件或目录find /etc -name init 在etc目录下面查找名称为init的文件,还可以使用通配符,init表示以init开头的文件,init*表示包含init的文件

find / -size +204800 在根目录下查找大于100MB的文件,是以block块为单位算的,一个block块是512字节,即0.5kb,100MB=102400kb=204800个0.5kb.find / -user hair 在根目录下查找所有者为hair的文件find /etc -ctime -1 在etc目录下查找24小时之内被修改过属性的文件和目录-ctime -atime -mtime 以天为单位-cmin -amin -mmin 以分钟为单位c change修改过文件的属性,比如所有者,所属组等属性信息a access访问过文件m modify修改过文件的内容-之内,+超过find /etc -mmin -120 在etc目录下查找两小时之内被修改过的文件find /etc -size +163840 -a -size -204800 在etc目录下查找大于80MB小于100MB的文件-a and表示逻辑与-o or表示逻辑或find /etc -name inittab -exec ls -l {} \;在etc目录下查找名称为inittab的文件并列出它的详细信息exec执行,固定格式find ... -exec 命令 {} \;解析:{}代表前面find到的文件的集合。\代表执行命令本身。 ;代表语句结束。-exec可以换成-ok,只是ok执行之前会询问

13.3locate命令

locate 寻找文件或目录locate file 列出所有跟file相关的文件例如:locate test.txt 查找文件(需要更新库:updatedb)

13.4grep命令

grep 在文件中搜索字符串匹配的行并输出grep ftp /etc/services 在services文件中搜索包含ftp的行

14打包与压缩指令14.1gzip命令14.2gunzip命令

gunzip GUN unzip解压.gz的压缩文件gunzip newfile1.gz

14.3bzip2命令

bzip2 与一般的压缩命令不同,这个可以大大提高压缩比,将文件压缩的更小,压缩后文件后缀.bz2bzip2 -k file1 压缩文件file1,压缩后为文件名为file1.bz2,去掉-k压缩完之后将不保留原文件

14.4bunzip2命令

bunzip2 解压文件bunzip2 -k file1.bz2 解压file1.bz2文件。解压之后保留原文件,如果不想要原文件,去掉-k注意:.gz和.bz2的命令不能压缩目录,只能压缩文件

14.5tar命令(重要)

tar 将目录打包成文件后再压缩tar 选项 打包后的名字 待打包的目录选项有以下几种-c 产生.tar打包文件-v 显示详细信息-f 指定压缩后的文件名-z 打包同时压缩压缩后的文件格式.tar.gztar -zcvf dir1.tar.gz dir1 将dir1文件打包并压缩tar解压命令-x 解包.tar文件-v 显示详细信息-f 指定解压文件-z 解压tar -zxvf dir1.tar.gz 解压dir1文件

14.6zip命令

zip 可以压缩文件也可以压缩目录,不同的是压缩目录要加上-r,同样要把压缩后的文件名写在前面,待压缩的文件写在后面,zip比gzip的好处是压缩后原文件并不会消失,同时对于大的文件会显示压缩比。.zip格式的压缩文件是唯一的windows和linux通用的压缩文件zip services.zip /etc/services 压缩文件,将etc目录下的services文件压缩成services.zipzip -r test.zip /test 压缩目录,将test目录压缩成test.zip,记得加-r

14.7unzip命令

unzip 解压缩命令unzip 文件名unzip test.zip 解压test.zip文件

15网络通信相关指令15.1write命令

write 用户名 向另外一个用户发信息,Ctrl+D结束write root 向root发送信息

15.2wall命令

wall 信息 向所有用户发送广播信息wall happy new year 系统中的所有用户均会收到happy new year的消息

15.3ping命令

ping ip地址,测试与给定的ip是否连通,如果未连通,测试ping 本机地址,如果依然不能ping通,ping 127.0.0.1ping -s 60000 127.0.0.1 向本机发送60000个数据包(少可能看不出来效果,现在明显看到时间有延迟)ping -c 4 127.0.0.1 发送4次之后自动停止,不加-c 4的话会一直ping,知道按ctrl+c

15.4ifconfig命令

ifconfig 查看网络设置信息eth0 实际的物理网卡lo 会话地址网卡ifconfig eth0 192.168.1.1 可以临时改变本机的物理网卡,但是下次启动时会显然显示原来的网卡,这就涉及到linux系统的一般规律,只要改变了配置文件信息,下次才依然生效,命令行修改的只在临时有效。

16进程控制相关指令16.1查看用户最近登录情况

lastlastlog

16.2查看硬盘使用情况

df

16.3查看文件大小

du

16.4查看内存使用情况

free

16.5查看进程

ps -e grep nginx 查看所有进程并从中选出nginx的进程信息ps –ef grep tomcat 查看所有有关tomcat的进程

16.6结束进程

kill 1234kill -9 4333

17Linux的软件包管理

linux软件包分为二进制软件包管理(RPM,Yum),源代码包安装,脚本安装(shell或java),Debian系软件包管理

17.1RPM软件包管理

RPM软件命令示例sudo-1.7.2pl-5.el5.i386.rpmsudo软件名1.7.2pl版本号5.el5更新号i386硬件平台

17.1.1卸载

命令:rpm -e sudo如果与其他软件包有依赖关系,卸载时会有提示信息,可以使用--nodeps命令no dependent 没有依赖关系rpm -e --nodeps sudo

17.1.2安装

安装sudo-1.7.2pl-5.el5.i386.rpm1.挂在光盘,虚拟机让他关联系统管盘,在mnt目录下创建目录cdrom,mkdir /mnt/cdrom,之后使用mount命令挂载mount /dev/cdrom /mnt/cdrom,将系统光盘挂在在刚才创建的cdrom下,使用命令ll grep sudo,查看是否有sudo文件,答案是存在sudo文件。安装命令:rpm -ivh sudo-1.7.2pl-5.el5.i386.rpmi install安装v view安装时查看h hash安装时显示详情信息i是必须的命令:rpm -q sudo查看sudo软件是否安装了命令:rpm -qagrep sambaa all全部前半部分,查询所有安装的软件包,后半部分,在这些软件包中包含samba关键字命令:rpm -ivh --test sudo-1.8.6p3-24.el6.x8664.rpmtest测试,不真实的安装,只测试一下命令:rpm -ivh --replacepkgs sudo-1.8.6p3-24.el6.x8664.rpm覆盖原有的基础上安装

17.1.3RPM其他命令

命令:rpm -qagrep vim 查看所有安装的包含vim文件的文件(all)命令:rpm -ql sudo查询sudo安装后的文件所在位置(location)命令:rpm -qi sudo查询sudo文件的相关信息介绍(information)命令:rpm -qc sudo查询sudo的配置文件信息(conf)命令:rpm -qd sudo查询sudo的帮助文档信息(document)

17.1.4RPM文件的校验

我首先修改sudo文件的配置文件,vim /etc/sudo.conf,修改文件命令:rpm -V sudo校验sudo文件,控制台显示的结果是S.5....T. c /etc/sudo.confS size文件大小改变5 md5文件md5的校验值改变L link链接改变T time创建时间改变D device设备文件改变U user文件的用户改变G group文件的用户组改变M 文件权限改变

17.2Yum包管理

命令:yum list grep sudo列出yum源上所有包含文件sudo的文件命令:yum install sudo使用yum方式安装文件sudo命令:yum check-update sudo检查sudo有无更新命令:yum update sudo更新sudo命令:yum info sudo获取sudo软件包信息命令:yum remove sudo卸载sudo命令:yum -help或man yum获取yum的帮助信息

17.3源代码包管理

以proftpd为例:去http://www.proftpd.org/ 官网下载.tar.gz的源代码文件到本地,通过xshell上传到服务器1.解压压缩包,命令:tar -xzvf proftpd-1.3.5b.tar.gz2.进入文件内,命令:cd proftpd-1.3.5b3.配置安装位置,命令:./configure --prefix=/test/proftpd/proftpdinstall中间它提示我缺少c编译器,安装无法继续,我就使用yum方法安装gcc用于编译c语言写的文件rpm -q gcc提示gcc未安装yum listgrep gccyum install gcc到此安装gcc完毕4.编译,命令:make5.安装,命令:make install

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171208G10GJU00?refer=cp_1026

相关快讯

扫码关注云+社区