目录结构
常用目录介绍:
/bin [重点](/usr/bin、/usr/local/bin):bin是binary的缩写,这个目录中存放着最经常使用的命令
/sbin(/usr/sbin、/usr/local/sbin):s就是super user的意思,这里存放的是系统管理员使用的系统管理程序
/home[重点]:存放普通用户的主目录,在linux中每个用户都有自己的一个目录,一边该目录名是以用户账号命名的。
/root 该目录是系统管理员,或者是超级权限者的用户目录
/lib 系统开机所需要的最基本的动态链接共享库(不要动)
/lost+fond 这个目录一般是空的,系统非法关机后这里就会存放一些文件
/etc [重点] 所有的系统管理所需要的配置文件和子目录
/usr[重点] 这是一个非常重要的目录,用户的很多应用程序和文件都放在此目录下类似于windows下的 program file文件夹
/boot 存放的是启动linux时使用的一些核心文件目录(不要动)
/proc、/srv、/sys 这三个目录和linux内核有关的目录,他是系统内存的一个映射,访问这个目录来获取系统信息。Linux高手才会用到,普通操作者不要乱动
/tmp 存放临时文件的目录
/dve 类似于windows的设备管理器,把所有的硬件用文件的形式存储
/media [重点] linux会自动识别一些设备,如u盘,光驱等,当识别后linux会把识别的设备挂载到这个目录下
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统。
/opt[重点] 这个是我们存放安装软件的目录(jdk tomcat sogou...)
/usr/local [重点] 这个是另外一个给主机额外安装软件所安装的目录,一般通过编译源码方式安装程序(类似于program files)
/var 存放不断变化的文件,例如日志文件,经常更新,就放到这个目录下。
/selinux 是一个安全子系统,控制程序访问特定文件
基本语法
关机:shutdown(关机之前先把数据从内存中同步到硬盘中sync)
重启:reboot
查看系统配置:cat /etc/os-release
查看本机ip:ip addr
静态获取ip:
1. su root //切换至特权模式,并输入密码
2. vim /etc/sysconfig/network-scripts/ifcfg-ens33 //进入网卡ens33的配置页面
3. i //输i进入文件编辑模式(i=insert)
4.1 BOOTPROTO="static" //修改:将dhcp修改为static,修改后为BOOTPROTO=static
4.2 ONBOOT=yes //修改为yes, 网卡开机自启动
IPADDR="192.168.112.219" #你要设置的静态ip
NETMASK="256.255.255.0" #子网掩码
GATEWAY="192.168.112.2" #网关
DNS1="192.168.112.2" #地址解析
5. Esc或Ctrl+c //退出文件编辑模式
6. :wq //保存文件修改并退出
7. service network restart //重启网卡
8. ip add //查看网卡ens33的IP地址已经变成配置的静态IP地址
9. ping xxx.xxx.xxx.xxx //ping自己,ping网关,验证网络能通
目录管理
绝对路径:
路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man 这就是相对路径的写法啦!
./:当前目录
ls(列出目录):
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
cd (切换目录)
pwd ( 显示目前所在的目录 )
mkdir (创建新目录)
-m :配置文件的权限喔!
mkdir -m 711 test2
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
rmdir ( 删除空的目录 )(这个 rmdir 仅能删除空的目录,你可以使用 rm 命令来删除非空目录)
- -p :连同上一级『空的』目录也一起删除
cp ( 复制文件或目录 )
- -r:递归持续复制,用于目录的复制行为;(常用)
cp -r test1 test2
- -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
- -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
cp -i /root/install.sh /home
rm ( 移除文件或目录 )
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
mv ( 移动文件与目录,或修改名称(同一个目录下) )
文件属性的查看与修改
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名3、chmod:更改文件9个属性
chmod [-R] 数字或者符号 文件或目录
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute(脚本)权限。
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
文件内容查看
Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容(字母区分大小写)
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-v :列出一些看不出来的特殊字符
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!例:nl 文件名more 一页一页的显示文件内容
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
head 只看头几行
- -n 后面接数字,代表显示几行的意思
tail 只看尾巴几行
Linux 链接概念
Linux 链接分两种,一种被称为硬链接(相当于备份),另一种被称为软链接(相当于快捷方式)。
硬链接:ln 文件1 文件2
软连接:ln -s 文件1 文件2
echo 字符串 >>文件 把字符串输入到文件中
vim编辑
移动光标的方法 | |
---|---|
h 或 向左箭头键(←) | 光标向左移动一个字符 |
j 或 向下箭头键(↓) | 光标向下移动一个字符 |
k 或 向上箭头键(↑) | 光标向上移动一个字符 |
l 或 向右箭头键(→) | 光标向右移动一个字符 |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行 |
n< space> | 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。 |
0 或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字符处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字符处(常用) |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 |
M | 光标移动到这个屏幕的中央那一行的第一个字符 |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 |
G | 移动到这个档案的最后一行(常用) |
nG | n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu) |
gg | 移动到这个档案的第一行,相当于 1G 啊!(常用) |
n< Enter> | n 为数字。光标向下移动 n 行(常用) |
搜索替换 | |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!(常用) |
?word | 向光标之上寻找一个字符串名称为 word 的字符串。 |
n | 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串! |
N | 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。 |
删除、复制与粘贴 | |
---|---|
x, X | 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) |
nx | n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 |
dd | 删除游标所在的那一整行(常用) |
ndd | n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用) |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ | 删除游标所在处,到该行的最后一个字符 |
d0 | 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 |
yy | 复制游标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) |
y1G | 复制游标所在行到第一行的所有数据 |
yG | 复制游标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢?那么原本的第 20 行会被推到变成 30 行。(常用) |
J | 将光标所在行与下一行的数据结合成同一行 |
c | 重复删除多个数据,例如向下删除 10 行,[ 10cj ] |
u | 复原前一个动作。(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
账号管理
添加账号 useradd
useradd 选项 用户名(useradd -m 用户名)
参数说明:
选项 :
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-m 使用者目录如不存在则自动建立。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名 :
指定新账号的登录名。
切换用户
1.切换用户的命令为:su username 【username是你的用户名哦】
2.从普通用户切换到root用户,还可以使用命令:sudo su
3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】
$表示普通用户
#表示超级用户,也就是root用户
删除帐号(删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。)
userdel -r 用户名(-r是把用户的主目录一起删除。)
修改帐号
usermod 选项 用户名
例:usermod -s /bin/ksh -d /home/z –g developer 用户名 此命令将用户的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
用户口令的管理
passwd 选项 用户名 例:passwd -l 用户1 禁用用户1这个用户
可使用的选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
超级用户为其它用户设置密码:passwd 用户名
普遍用户设置密码:passwd
用户组管理
增加一个新的用户组
groupadd 选项 用户组 例:groupadd -g 101 group2 此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
常用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
删除一个的用户组
groupdel 用户组
修改用户组
groupmod 选项 用户组 例:groupmod –g 10000 -n group3 group2 将组group2的标识号改为10000,组名修改为group3。
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
切换组(如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。)
newgrp 用户组
/etc/passwd文件
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow文件(密码等一些信息)
/etc/group文件(组一些信息)
磁盘管理
Linux磁盘管理常用命令为 df、du。
df :列出整个文件系统的整体磁盘使用量
du:检查磁盘空间使用量(文件或目录)
选项与参数:(df)
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
选项与参数:(du)
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
磁盘挂载与卸除
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
例: mount /dev/hdc6 /mnt/hdc6 将 /dev/hdc6 挂载到 /mnt/hdc6 上面!
umount [-fn] 装置文件名或挂载点
-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
-n :不升级 /etc/mtab 情况下卸除。
进程管理
ps:查看当前系统正在运行的进程信息
-a :当前进程。
-u :显示用户;
-x :后台所有j进程;
例:ps -aux|grep mysql |:管道符:过滤作用
杀掉进程:kill -9 进程号