前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >最实用的Linux命令总结

最实用的Linux命令总结

作者头像
企鹅号小编
发布2018-01-04 15:53:42
2.1K0
发布2018-01-04 15:53:42
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

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

本文来自企鹅号 - Java开发日记媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - Java开发日记媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档