linux笔记

系统启动后需要输入用户名和密码
用户名:root
密码:之前安装过程设置的密码

1、切换到/etc/sysconfig/network-script目录
cd /etc/sysconfig/network-script
2、将ifcfg-eth0被分成ifcfg-eth0.
cp ifcfg-eth0 ifcfg-eth0.bak
3、修改配置文件(ifcfg-eth0)
修改内容:ONBOOT=yes
添加内容:DNS1=8.8.8.8
4、操作网卡(启动/停止/重启)
启动:/etc/init.d/network start
停止:/etc/init.d/network stop
重启:/etc/init.d/network restart
5、使用工具连接虚拟机
推荐:putty,轻量,免费,方便(无需安装)
6、开关机命令
重启:shutdown -r now 或 reboot
关机:shutdown -h now 或 poweroff 或 halt
7、最常用命令及操作
ifconfig:查看或配置网卡信息(包括IP)
cd: change directory,切换工作目录
ls: list,列表显示当前目录的内容
pwd: print work directory,打印工作目录

tab:自动补全(命令/参数)
clear:清空屏幕(Ctrl + L)
history:显示历史命令
上/下:翻看历史命令
ping ip/域名:网络监测
Ctrl + c:结束进程
8、VI基本操作
打开文件:VI 文件名
开始编辑:a或者i
退出编辑:Esc
保存退出:shift + zz

/: 最高层的目录,是所有目录的直接或间接父级目录,也叫根目录
/boot:启动目录,启动信息

/bin:程序的启动文件,程序的命令

/sbin:这是超级用户存放一些应用程序的地方

/dev:设备目录

/etc:Editable Text Configuration,可编辑文本配置,放一些配置信息

/home:家目录,其实是指用户的目录

/root:最大的用户有一个单独的目录

/lib:存放一些库

/lib64:给64位操作系统提供的,存放一些库

/lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件就在这里

/meida:自动识别一些设备的时候,会挂在到这个地方,比如:CD/DVD

/mnt:安装临时文件系统的安装点,让用户临时挂载其他的文件系统

/proc:虚拟文件系统目录,是系统内存的映射。用来获取系统信息

/tmp:用于存放各种临时文件,是公用的临时文件存储点

/usr:Unix System Resource,Unix系统资源,这个目录很重要,用来放一些应用程序,
之前是user的缩写,曾经的home目录,现在已经被/home取代了

/opt:这里主要存放一些可选的程序,比如安装一些软件的最新Beta版本,用完直接删除
软件安装在此目录,一个软件只有一个目录,可以一次性完全删除,而/user/local则不能

/sys:是sysfs文件系统的挂载点,sysfs是一种虚拟的基于内存的文件系统,
它的做作用除了与proc相同的具有查看和设定内核参数功能之外,统一设备模型

/selinux:Security-Enhanced Linux的缩写,用来保证系统的安全
getenforce:获取状态
setenforce:设置状态
永久关闭:
打开:/etc/selinux/config
修改:SELINUX=disabled

/srv:系统启动服务时候可以访问的数据库目录

/var:用于存放运行时需要改变数据的文件,比如各种服务的日志文件


必备命令
cd: change directory,切换工作目录
-: 表示刚才的工作目录
~: 表示用户的家目录
.: 表示当前目录
..: 表示上级目录
/: 表示根目录
pwd: print work directory,打印工作目录
ls: list,列出指定目录的内容
-a 显示所有文件,包括隐藏文件(以'.'开头的文件)
-l 列表显示文件,会显示文件的所有信息,ls -1<==> ll
-h 更加人性化的显示文件(文件大小会出现K/M/G等)

ls -l 结果说明,按列描述如下:
类型及权限 | 引用数 | 用户 | 组 | 大小 | 月 | 日 | 年/时间 | 名称
文件类型说明:
-:普通文件
d:目录文件
b:块设备
c:字符设备
l:链接
s:套接字
p:管道
ping:一般用于检测网络是否联通,后可跟IP地址或者域名
ifconfig:现在只需要知道ifconfig可以查看网卡信息就可以了

终端编辑工具:vi/vim emacs等

基本介绍:vim是vi的扩展,被誉为终端编辑器之神
软件安装:yum install -y vim
工作模式:
1、正常模式
1、使用格式说明 vim filename
若文件不存在,则直接打开
若文件不存在,则会新建,若不修改则不会创建空文件
2、主要用来浏览或修改文本内容
3、使用vim打开文件的默认模式
4、在任意模式下按Esc按键即可进入该模式
2、编辑模式
主要用来向文本添加内容,也叫插入模式
正常模式下输入以下字符都可进入该模式
i:在光标所在字符前开始输入文字
I:在行首指第一个非空白字符处开始输入文字
a:在光标所在字符后开始输入文字
A:在行首开始输入文字
o:在光标所在行的下面单独开一新行来输入文字
O:在光标所在行的上面单独开一新行来输入文字
s:删除光标所在的字符并进入插入模式
S:删除光标所在行并进入插入模式
3、命令模式
主要用来管理文件或设置vim,如:保存,退出,放弃等,而不是修改文件内容
在正常模式下,输入‘:’即可进入命令模式,由于操作都是在一行完成,因此也叫单行模式
保存文件:w
退出软件:q
保存退出:x,等价于wq,等价于正常模式下的shift+zz
强制操作:!
放弃修改:e!
4、可视模式
v:可视块模式
V:可视化模式

vim使用技巧:可以大大提高开发效率

1、打开文件
vim filename 打开文件,并将光标定位到文件开头
1、若文件已存在,则直接打开
2、若文件不存在,则新建文件(不做修改的文件不会创建)
vim filename +n 打开文件,并将光标定位到文件第n行
vim filename + 打开文件,并将光标定位到文件末尾
2、光标定位
gg:首行
GG:尾行
ngg:第n行,等价于命令模式下的:n,然后敲回车
0:行首
^:首个非空字符
$:行尾
k:向上
j:向下
h:向左
l:向右
3、复制粘贴
yy:复制光标所在行
dd:剪切光标所在行
p:粘贴缓冲区的内容
nyy:复制光标开始的n行
ndd:剪切光标开始的n行
4、操作回退
u:撤销刚才的操作
Ctrl + r:反撤销
5、查找替换
命令模式下操作
:?查找内容,然后敲回车即可查找相关内容,n向前翻,N向后翻
:%s/查找内容/替换内容/[g],将查找到的内容替换,g表示全局替换,[]表示可选
:起始行,结束行s/查找内容/替换内容/[g],替换从起始行到结束行查找到的内容,g功能同上
6、基本配置
:set nu 设置行号
:set nonu 取消行号
:set tabstop=4 设置tab键为四个空格
:set fileeccodings=utf-8,gkb 设置字符集
7、配置文件
上面第6步在命令模式下的配置是单次的,退出vim后配置就无效了,
要想一次配置,自动生效可以创建专门的配置文件
在用户目录下,创建.vimrc文件,这个文件就是vim的配置文件,
当该用户登录时就会生效,可以将vim相关的配置写入即可
要想使配置文件生效可以重启系统,也可以使用命令:source ~/.vimrc
说明:
文件未保存就关闭vim时,会产生临时文件,下次打开时会提示恢复/删除等相关操作


文件内容查看

cat:
作用:一次性顺序显示文件的所有内容
格式:cat file
tac:
作用:一次性倒叙显示文件的所有内容
格式:tac file
head:
作用:显示文件开头的若干行内容
格式:head -n file n为要显示的行数
tail:
作用:显示文件结尾的若干行内容
格式:tail -n file n为要显示的行数
more:
作用:分页显示其他命令执行的结果
格式:其他命令 | more, 如: cat file | more
说明:
1、当内容显示一屏时停止
2、空格向下翻页(只能向下)
3、回车键向下显示一行
4、q键退出(结束查看)
less:
作用:分页显示其他命令执行的结果
格式:其他命令 | less, 如:cat file | less
说明:
与more命令功能相同,多了上下按键上下翻一行
more和less的前面可以是很多查询搜索等命令,如:ls、find

文件整体操作

touch:
作用:创建普通文件
格式:touch file1 [file2]
cp:
作用:拷贝文件
格式:cp 源文件 目标文件
rm:
作用:删除文件
格式:rm 文件
mv:
作用:移动文件
格式:mv 源文件 目标文件
mkdir:
作用:创建目录文件
格式:mkdir dir1 [dir]
rmdir:
作用:删除空的目录文件
格式:rmdir dir
说明:
1、删除文件时会有提示,若不想提示可以添加参数‘-f’
2、删除或拷贝目录时需要添加参数‘-r’
ln:
作用:创建链接文件
格式:ln [-s] 源文件 目标文件
硬链接:不加‘-s’选项时,简答理解为一个文件有多个名字
1、不占用实际空间
2、不允许给目录创建
3、只能跨文件系统
软链接:添加‘-s’选项时,简单理解为一个文件的内容是另一个文件的路径
1、类似于Windows的快捷方式
2、可以对目录创建
3、可以跨文件系统

文件搜索定位

grep:
作用:general regular expression parser,通用规则表达式分析程序,
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
格式:grep [选项] pattern [文件名]
选项:
-i:字母不区分大小写
-n:显示行号
说明:
1、pattern为所要匹配的正则表达式字符串
2、要用好grep这个工具,其实就是要写好正则表达式
实例:
grep ftp /etc/passwd
在/etc/passwd文件下查找包含‘ftp’字符的行:
grep 'test' d*
显示所有以d开头的文件中包含‘test’的行。
ls/bin | grep '^m'
通过管道过滤ls /bin输出的内容,只显示以m开头的行。
grep -i 'hello world' menu.h main.c
显示在menu.h和main.c文件中匹配'hello world'的行,忽略大小写。
find:
作用:最常见和最强大的查找命令,你可以用它找到任何你想找的文件。
格式:find [目录] [条件] [动作]
目录:所要搜索的目录及其所有子目录。默认为当前目录。
条件:所要搜索的文件的特征。
动作:对搜索结果进行特定的处理。
选项:
-name:指定文件名,可以通过*模糊匹配
-type:指定文件类型(b/c/d/p/l/f)
-size:指定文件大小,单位可以为K/M/G,+表示大于,-表示小于
-user:指定用户
-group:指定组
-mtime/atime/ctime:指定修改/访问/创建时间,单位为天,+表示几天前,-表示几天内
-amin/mmin/cmin:功能同上,单位为分钟
说明:如果你要寻找一个普通文件,使用find会是一个不错的主意。
由于find在寻找数据的时候相当的耗资源,所以没事情不要使用find
有更棒的指令可以取代,那就是whereis与which
whereis:
作用:只能用于程序名的搜索
格式:whereis 命令
实例:whereis grep
结果: grep: /bin/grep /usr/share/man/man1/grep.1.gz
名称 二进制文件路径 帮助文档路径
which:
作用:在$PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个
格式:which 命令
PATH:
说明:环境变量,与Windows中(我的电脑>高级系统设置>高级>环境变量>系统变量)的path类似
打印:echo $PATH
导出:
方式1:一次性设置
export PATH=$PATH:dir1[:dir2]
方式2:永久性的设置,所有用户有效,需要重启生效或使用source命令
将方式1的导出操作添加到文件/etc/profile的末尾
方式3:永久性的设置,只针对一个用户,需要重启生效或使用source命令,优先级高于2
将方式1的导出操作添加到文件~/.bashrc的末尾

文件压缩解压

gzip:
作用:压缩文件,只能是单个文件,不能是多个,也不能是目录
格式;gzip file
说明:执行命令会生成file.gz,删除原来的file
选项:-d 等价于gunzip
gunzip:
作用:解压使用gzip压缩生成的文件
格式:gunzip file.gz
说明:解压file.gz文件,生成file,删除原来的file.gz
bzip2/bunzip2:
说明:
1、用法与gzip/gunzip相同,只是多了‘-k’参数,压缩或解压后保留原文件
2、使用bzip2压缩的文件后缀为bz2,而使用gzip压缩的文件后缀为gz
tar:
说明:gzip/gunzip/bzip2/bunzip2命令指适应于单个文件,
而tar则可以将多个文件或目录进行压缩打包
选项:
-c:压缩
-x:解压
-z:使用gzip
-j:使用bzip2
-f:指定处理文件
-v:显示(压缩解压过程的)详细信息
-C:指定解压后存放文件的目录
实例:
tar -zcvf 123.tar.gz 1 2 3
使用gzip将1 2 3压缩成123.tar.gz
tar -zxvf 123.tar.gz [-C /tmp]
使用gzip将123.tar.gz解压[至/tmp目录]

文件权限管理
chmod:
作用:修改文件的权限
说明:ls -l中的第一列就是权限相关信息,下面对其中的11个字符进行说明
l:文件类型(b/c/d/l/s/p/-)
2/3/4:文件所有者的读(r)/写(w)/执行(x)权限,-表示不具有该权限
5/6/7:文件所有者所属的组的读/写/执行权限
8/9/10:其他用户的读/写/执行权限
11:.表示启用了selinux,空格表示没有开启selinux
参数:
r:可读
w:可写
x:可执行,在Linux系统中没有后缀的概念,文件的类型及权限不以后缀区分
+:添加权限
-:去掉权限
=:设置权限
u:用户
g:组
o:其他
数值表示:
Linux中的权限以一组数据来表示,所有者/组/其他的权限分别以3位二进制表示,
然后再将其写成8进制就OK了,如:755 => 111 101 101,
结果就是:所有者拥有读/写/执行权限,同组拥有读/执行权限,其他拥有读、执行权限
实例:
chmod +x file 给文件添加可执行权限
chmod -w file 去掉文件的可写权限
chmod u+x file 给文件的所有者添加可执行权限
chmod g-w file 给文件同组去掉可写权限
chmod u=rwx,g=rx,o=rx file 所有者读写执行,同组读写,其他读写
chmod 0755 file 功能同上
umask:
作用:查看或设置umask的指,umask用来确定创建文件的默认权限
格式:umask [value]
说明:
1、若后面没有跟指表示查看,后面有指表示设置
2、创建的普通文件默认没有执行权限
实例:umask为0222 => 000 010 010
创建的目录文件权限 rwx r-x r-x
创建的普通文件权限 rw- r-- r--
配置:
所有用户:/etc/profile
单个用户:~/.profile或者~/.bash_profile
lsattr:
作用:修改文件的属性,可以提高系统的稳定性
格式:chattr [选项] 文件
选项:i:表示忽略,+表示添加,-表示去掉

用户及用户组

whoami:
作用:查看当前登录的用户
格式:whoami
/etc/passwd:
说明:该文件存放了系统中所有的用户,每一行的每一列如下
用户名:密码:描述:用户ID/UID:组ID/GID:用户家目录:shell
useradd:
作用:添加(创建)用户
格式:useradd 用户名
选项:
-d:指定用户家目录
-u:指定用户ID,必须大于500(小于500都已被系统占用)
-s:指定用户执行的shell,若用户已经创建可以使用以下方式禁止登陆
chsh 用户名 -s /sbin/nologin
userdel:
作用:删除指定用户
格式:userdel 用户名
说明:彻底删除用户还需要删除‘/home/用户名’目录和‘/var/mail/用户名’目录
passwd:
作用:设置用户密码
格式:passwd [用户名]
说明:
1、修改指定用户的密码,若不指定则修改当前登录的用户密码
2、查看所有用户的密码/etc/shadow
su:
作用:切换用户
格式:su [用户]
说明:切换到指定用户,若不指定则切换到root用户
sudo:
说明:
1、若只想简单的执行一个超级用户的命令,不想切换用户
2、格式是在原来命令的前面加上sudo即可
特殊标识:
#:超级用户
$:普通用户
~:表示用户家目录
/etc/group:
说明:查看系统中所有的组
groupadd:
作用:添加用户组
格式:groupadd 组名
groupdel:
作用:删除用户组
格式:groupdel 组名
gpasswd:
作用:向用户组添加或删除用户
格式:gpasswd [选项] 用户名 组名
选项:
-a:将指定的用户加入指定组
-d:将指定用户从指定组删除
chgrp:
作用:设置文件所属的组
格式:chgrp 组名 文件名
说明:修改文件所属的组
chown:
作用:设置文件的所有者
格式:chown 用户[:组名] 文件名
说明:修改文件的所有者[及组名]
说明:
1、修改用户及组的时候,可以使用UID或GID
2、加上-R参数可以递归修改子目录的用户及组

网络相关设置:

ping:
作用:通常用于检测网路设备的连通性
格式:ping IP/域名
选项:-c,指定方式测试数据包的次数
ifconfig:
作用:查看或设置网卡信息
实例:
ifconfig:查看活动网卡信息
ifconfig eth0 down:关闭网卡,等价于fidown eht0
ifconfig eth0 up:开启网卡,等价于ifup eht0
服务:
/eth/ini.d/network start|stop|restart 开启|关闭|重启 网路服务
service network start|stop|restart 开启|关闭|重启 网络服务
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:1C:42:51:74:18DDR=
TYPE=Ethernet
UUID=b3de21de-5cc9-472d-ac0d-3e8198988ddd
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
添加域名服务器(DNS)地址:/etc/resolv.conf
8.8.8.8
114.114.114.114
添加本地域名解析服务:/etc/hosts
127.0.0.1 www.hello.com

服务以及进程:

vmstat:
结果:
procs--------memory-------- ---swao--- -----io----- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
说明:
procs:进程
r 表示运行队列(就是说多少个进程真的分配到cpu)
b 表示阻塞的进程数
memory:内存
swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了
free 空闲的物理内存的大小
buff 用来存储,目录里面有什么内容,权限等得缓存
cache 直接用来记忆我们打开的文件,给文件做缓冲
swap:交换
si 每秒从磁盘读入虚拟内存的大小
so 每秒虚拟内存写入磁盘的大小
io:块设备
bi 块设备每秒接收的块数量
bo 块设备每秒发送的块数量
system:系统
in 每秒CPU的中断次数,包括时间中断
cs 每秒上下文切换次数
cpu;中央处理器
us 用户CPU时间
sy 系统CPU时间
id 空闲CPU时间,一般来说,id + us + sy = 100
wa 等待IO的CPU时间
st 虚拟机占用的时间百分比,一般 不用关心
w:
作用:what的简写,当前系统在干什么
结果:
12:36 up 5:50, 2 users, load average:0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 06:46 1:19m 0.07s 0.07s -bash
root pts/1 10.18.40.69 11:17 0.00s 0.10s 0.00s w
说明:
第一行:系统当前时间 开机持续时间,登录用户个数,平均负载(1/5/10分钟)
其他行:用户|终端|来源|登录时间|空闲时间|使用时间|当前进程时间|正在做
top:
使用:
1、w的详细显示,每3秒刷新一次,
2、shift+m可以按照所占内存排序
3、q退出监测
结果:
省略
说明:
第一行:功能同w
第二行:任务信息
第三行:CPU信息
第四行:内存信息
第五行:交换分区
其他行:
PID:进程号
USER:用户
PR:优先级
NI:NICE
VIRT:虚拟内存总量
RES:虚拟内存中,未被交换的物理内存
SHR:共享内存大小
S:进程状态
%CPU:CPU占用百分比
%MEN:内存占用百分比
TIME+:CPU使用时间
COMMAND:进程名/命令
free:
说明:查看内存使用
选项:-h人性化的显示
ps:
说明:查看进程
选项:
a:显示控制终端的所有进程
u:显示用户信息
x:显示没有控制终端的进程
实例:ps aux
kill:
说明:杀死一个进程
选项:-9,强制结束
实例:kill -9 PID

原文地址:https://www.cnblogs.com/huangcanbin/p/12066355.html