修改主机名
永久生效:修改配置文件
vi /etc/sysconfig/network
临时生效:
hostname 主机名
修改Ip地址
修改配置文件(以网络方式为NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static静态ip
ONBOOT=yes自启动选确定
TYPE="Ethernet"类型是英特网
IPADDR=192.168.8.11Ip地址
NETMASK=255.255.255.0子网掩码
GATEWAY=192.168.8.2 (规定是网关的2,本机是1)
DNS1=114.114.114.114 两个DNS地址
DNS2=8.8.8.8
重启网络生效:
# service network restart
如果网络重启失败解决方案:
#chkconfig NetworkManager off
#chkconfig network on
#service NetworkManager stop
#service network start
Linux常用命令
Linux命令的分类
内部命令:
属于Shell解析器的一部分,也称为内建(Built-IN)指令。
内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无需从硬盘中重新读取文件,因此执行效率更高。
内部命令找不到命令所在路径。
外部命令:
指的是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是独立于Shell解析器之外的文件程序。Linux系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行。
可简单理解为,系统读取环境变量文件,去找Path路径,然后加载进内存中。
查看帮助文档
内部命令:help+命令(help cd)
外部命令:man+命令(man ls)
type命令
type cd cd is a shell builtin(提示cd是shell自带命令)
type grep grep is /bin/grep(提示grep是一个外部命令,并说明路径)
Linux系统默认会将存放外部命令、程序的目录(如/bin、/usr/bin、/usr/local/bin等)添加到用户的“搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置。
ln 链接命令
英文: link命令路径:/bin/ln执行权限:所有用户
作用:产生链接文件
硬链接 软连接
语法:
ln -s [源文件] [目标文件] 创建软链接 源文件使用 绝对路径 windows下的快捷方式
ln [源文件] [目标文件] 创建硬链接
eg:# ln -s /etc/service .service.soft
创建文件/etc/service的软链接.service.soft
eg:# /etc/service /service.hard
创建文件/etc/service的硬链接/service.hard
软连接类似于windows下的快捷方式
软连接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services
硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
13 链接文件的长度
格式解析(特征):
1,软连接的文件类型是 l(软连接),软连接文件的权限都是 lrwxrwxrwx
2,-> 箭头指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软连接可以跨文件系统生成
硬链接特征(了解)
1,相当于 cp -p +同步更新
2,通过i节点识别,与源文件有相同的inode节点
3,硬链接不能跨分区,ln /home/test/issuels /boot/test(错误)
4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)
删除软连接
rm -rf symbolic_name
man
英文:manual命令路径:/usr/bin/man执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令]
eg:man ls man services
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)
调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个
eg: /-l 直接查看-l的介绍
man 只能查看外部命令的帮助信息,如果使用man查不到一个命令的帮助信息,那么就使用help命令来查看帮助。
扩展:man的级别(帮助文档的类型, 了解1 5即可)
man man-pages 查看每一种类型代表的含义 man文档的类型(1~9)
1是命令,5是配置文件 man优先显示命令,可指定帮助类型
eg:man 5 passwd (5代表配置文件级别)
查看/etc/passwd配置文件的信息
help
help 查看shell内置命令的帮助信息
eg:help cd
内置命令,使用whereis,which,man都不能查看
命令名 --help
命令名 --help 列举该命令的常用选项
eg: cp --help
文件搜索命令
find
命令路径:/bin/find执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name init 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name init??? 在目录/etc中查找以init开头的,且后面有三位的文件
-size 按文件大小查找
以block为单位,一个block是512B,0.5K +大于 -小于 不写是等于
eg:find /etc -size -204800 在etc目录下找出大于100MB的文件
100MB=102400KB=204800block
-type 按文件类型查找
f 二进制文件 l软连接文件 d 目录
eg: find /dev -type c
find查找的基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
grep命令
命令路径:/bin/grep执行权限:所有用户
作用:在文件中搜寻字串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#号
eg:# grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:# grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次
还可以把一个命令的执行结果当作grep命令的输入
# ll / | grep proc
which
命令路径:/usr/bin/which执行权限:所有用户
作用:显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
# which ls
alias ls='ls --color=auto'
/bin/ls
# which zs
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
whereis
命令路径:/usr/bin/whereis执行权限:所有用户
作用:搜索命令所在目录配置文件所在目录 及帮助文档路径
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd
网络通信命令
ping
命令路径:/bin/ping执行权限:所有用户
作用:测试网络的连通性
语法:ping 选项 IP地址
-c 指定发送次数
ping 命令使用的是icmp协议,不占用端口
eg: # ping -c 3 127.0.0.1
ifconfig
英文:interfaceconfigure 命令路径:/sbin/ifconfig执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig [-a] [网卡设备标识]
-a:显示所有网卡信息
ifconfig [网卡设备标识] IP地址修改ip地址
netstat
英文:networkstatistics命令路径:/bin/netstat执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-n 使用数字方式显示地址和端口号
-l (listening) 显示监听中的服务器的socket
-t tcp
-u udp
eg:
# netstat -natpl 查看本机监听的端口
# netstat –natpl | grep 80 查看80端口的监听情况
# netstat –natpl | grep httpd 查看httpd程序的端口监听
两个常用的方式:
根据程序名称,查看网络 端口信息
根据端口号,查询网络信息,还可以查询端口号是否被占用
磁盘空间命令
df命令
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况以易读的方式显示 KB,MB,GB等
-k 以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息
-a 显示所有分区包括大小为0 的分区
du命令
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
eg:
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
du -h --max-depth=0 /home
--max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
free
作用:查看内存及交换空间使用状态
语法: free [-bkmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
清理缓存命令:
echo 1 > /proc/sys/vm/drop_caches
压缩解压缩命令
gzip
英文:GNU zip 命令路径:/bin/gzip执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
bzip2
命令路径:/usr/bin/bzip2执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.bz2
语法:bzip2 [-k] [文件]
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
# bzip2 install.log
zip
命令路径:/usr/bin/zip执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.zip
需要指定文件名称
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
eg:# zip services.zip /etc/services 压缩文件;
# zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
unzip
命令路径:/usr/bin/unzip执行权限:所有用户
作用:解压.zip的压缩文件
tar
命令路径:/bin/tar执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create)
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名(必须项 必须放在最后面)
两步完成:
- 打包 tar -cvf app.tar apps
- Gzip压缩 gzip app.tar
一步完成:
Tar -zcvf app.tar.gz appps
tar -cf -xf 单独压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gz dir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
eg: tar -zxvf dir1.tar.gz 解压到当前目录
tar -zxvf dir1.tar.gz -C(大写的) /root 解压到指定的/root目录
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar 使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
eg: tar -ztvf a.tar.gz 查看压缩包内容
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用:
tar –zcvf 压缩 (压缩目录并显示目录中文件的内容)
tar –zxvf 解压()
进程管理命令
ps命令
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
a:显示所有用户的进程
u:显示用户名和启动时间
x:显示没有控制终端的进程
e:显示所有进程,包括没有控制终端的进程
l:长格式显示
f:显示程序间关系
查看系统中所有进程
# ps aux #查看系统中所有进程,使用BSD操作系统格式,unix
# ps -le #查看系统中所有进程,使用Linux标准命令格式
ps应用实例
# ps -u or ps -l 查看隶属于自己进程详细信息
# ps aux | grep sam 查看用户sam执行的进程
# ps -ef | grep init 查看指定进程信息
pstree
作用:查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u显示进程的所属用户
# pstree -up
top
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。
语法:top [选项]
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
交互模式中可执行的命令:
M 根据内存使用大小进行排序(降序)
P 根据cpu使用百分比大小进行排序(默认排序)
T 根据时间/累计时间进行排序
N PID排序
kill
作用:关闭进程
语法:kill [-选项] pId
kill -9 进程号(强行关闭) 常用
kill -1 进程号(重启进程)
系统关机命令
shutdown [选项]时间
eg:
# shutdown -h now 立即关机
reboot 重启系统
注意:生产环境中,关机命令和重启命令谨慎执行。
重启:# init 6
关机:#init 0
系统中7种运行级别
0:关机
1:单用户模式(类似windows安全模式,无图形化界面,只有root可登录)
2:字符界面的多用户模式,是广泛使用的服务器模式(未启动NFS服务)
3:字符界面的多用户模式,是广泛使用的服务器模式
4:自定义的运行级别
5:图形化的多用户的模式(系统默认的级别)
6:重启
etc/rc.d/rc*.d (*可取值:0,1,2,3,4,5,6)不同的运行级别,运行不同的目录下文件