[toc]
Linux
基本结构


分区
- 主分区4个
- 拓展分区
- 1个
- 不能包含数据,只做标识
- 逻辑分区
挂载点

-
/boot
: 放置运行系统,至少分配300M ,一般只需要几十M -
/home
: 用户信息与文件目录,类似windows的user,FTP上传文件目录,最好多一点 -
swap
: 内存大小的两倍或者相等 -
/
: 根目录,啥东西都放的
安装程序
-
/root/install.log
: 存储了安装在系统中的软件包以及版本信息 -
/root/install.log.syslog
:存储了安装过程中留下的事件记录 -
/root/anaconda-ks.cfg
: 以Kickstart配置文件的格式记录安装过程中设置的选项信息
格式化
重新写入文件系统
如同衣柜一样
格式化又称逻辑格式化,指根据用户选定的文件系统(FAT16,FAT32,NTFS,EXT2,EXT3,EXT4),在磁盘中的特定区域写入特定数据,在分区中划出一片存放文件的分配表、目录表等用于文件管理的磁盘空间
ip配置
软件
-
Apache
服务器发布到互联网 -
Nginx
服务器发布到互联网
支持更高并发环境 -
MySQL
数据库 -
php
世界上最好的语言
-
Xshell
- 远程连接操作系统
BT宝塔
用于远程管理centOS的服务器,相当好用

centOS安装指令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
常用命令
基本格式与命令
- 基本格式:
命令 [选项] [参数]
: 选项可以一起使用 如ls -lh
- 文件信息:
drwxr-xr-x. 引用计数 所有者 所属组 大小
-
d
: 目录,-
: 文件 ,l
软连接文件(快捷方式) -
r
: 可读,w
: 可写,x
: 可执行 - 权限次序: u所有者 , g所属组 ,o其他人
- 777: rwxrwxrwx
-
.
: acl权限
-
-
[root@localhost ~]#
:- 用户名 : root
- 主机名 : localhost
- 当前位置 : ~ 表示家
- 权限 : # 超级用户, $ 普通用户
-
pwd
: 显示当前所在目录 -
date
: 显示事件 -
clear
: 清屏 -
cat
: 查看文件内容 -
logout
: 退出登陆(Linux最大支持256个用户) -
echo
: 输出信息 -
/dev/null
: 回收站
-
/etc/inittab
: 保存着系统运行系统级别,0-6这几个级别
shutdown可以正确保存服务状态 -
shutdown -r 05:30 &
: 在目标时间重启计算机,&表示新建线程执行这个命令,否则页面会卡死-
-c
: 取消关机指令 -
-r
: 重启 -
-h
: 关机
-
目录
-
/bin
,/sbin
,/usr/bin
,/usr/sbin
: 都是保存系统命令,sbin
只有超级管理员才可以执行 -
usr
: 系统资源保存目录 -
boot
: 启动目录,保存启动数据 -
dev
: 硬件信息 -
etc
: 配置信息目录 -
home
: 普通用户家目录 -
root
: 超级用户家目录 -
lib
: 函数库 -
media
: 挂载光盘,mnt
: 挂载移动硬盘,U盘,misc
: 挂载磁带机- 没有硬性要求
-
proc
和sys
: 不能直接操作,保存内存的过载点,内存盘符 -
var
:保存文档目录 -
touch filename
: 创建文件
文件处理
ls
-
ls -l /etc/
: 显示选项范文的指定目录文件, 不填则默认当前目录-
-a
: 显示所有文件,包括隐藏文件 -
-l
: 显示详细信息 -
-d
: 查看目录本身属性 -
-h
: 人性化显示文件大小 -
-i
: 显示文件id - 显示文件带
.
的是隐藏文件
-
mkdir
-
mkdir -p [目录名]
: 创建目录-
-p
: 递归创建
-
cd
-
cd
: 切换目录-
cd ~
和cd
: 进入用户家目录 -
cd -
: 返回上次目录 -
cd .
: 进入当前目录 -
cd ..
: 进入上一级目录
-
rm
-
rm -rf /tmp/*
: 强制删除tmp目录下所有文件, 不加*表示连tmp本身也删除-
-r
: 删除目录 -
-f
: 强制删除,不询问 -
注意是可以删除根目录的!! :
/
-
cp
-
cp -r /tmp/* /japan/
: 将tmp目录下所有文件复制到japan文件夹下-
-r
: 复制目录 -
-p
: 带文件属性复制 , 文件创建时间也不变 -
-d
: 若原文件为链接文件,则复制链接属性 -
-a
: 相当于 -pdr
-
mv
-
mv abc bcd
: 剪切- 与复制类似,不过没有选项
- 当目标文件和源文件位于同一个目录,则等于改名
ln
-
ln -s 源文件 目标文件
: 操作与cp
类似,任何修改,实时同步-
硬链接
: 只有文件名不一定,其他都一样- 相同i节点和存储block块,可以看作同一个文件
- 通过i节点识别
- 不能跨分区,不能针对目录使用(ex: 一个教室不能在两栋楼里面建两扇门)
-
软连接
: 类似与windows的快捷方式,更加常用, 源文件必须要写绝对路径- 拥有自己的i节点和block块,,但是数据块中只保存源文件的文件名和i节点bu
- 文件权限都是777
- 修改任意文件,另一个改变 : 因为数据指向都是一致的
- 删除源文件就无法使用了
-
文件搜索
locate
-
locate testfile
: 从数据库中搜索testfile,只能搜索文件名- 搜索速度极快!!
- 搜索数据库,数据库位置在
/var/lib/mlocate
-
updatedb
: 更新数据库 -
/etc/updatedb.conf
: 筛选条件配置文件-
PRUNE_BIND_MOUNTS
: YES 筛选条件生效 ,no筛选条件不生效 -
PRUNEFS
: 不搜索的文件系统 -
PRUNENAMES
: 不搜索的含指定关键字的文件 -
PRUNEPATHS
: 不搜索的文件路径
-
which、whereis
搜索命令依赖于 $PATH 里面的命令
-
which
: 查找系统命令的位置,同时显示别名(完整命令) -
whereis
: 查找系统命令的位置-
-b
: 只看可执行程序 -
-m
: 只看帮助文档
-
find
-
find [搜索范围] [搜索条件]
:find / -name "install.log*"
搜索根目录下 名字包含 install.log的所有文件.
表示当前文件夹- 十分消耗资源,尽量小范围搜索
-
-i
: 不区分大小写 -
-nouser
: 搜索没有所有者的文件,(谁创建,谁就是所有者,系统文件没有所有者或U盘外带的也没有所有者) -
-atime
: 访问文件事件 -
-ctime
: 改变文件属性 -
-mtime
: 修改文件内容 -
-size
: 文件大小 -
-inum
: 根据id查找 -
-a
: 逻辑与(and),-o
, 逻辑或(or) -
-exec 命令 {} \;
: 搜索结果执行额外命令 -
-ok 命令 {} \;
: 搜索结果执行额外命令的同时每次都会询问是否执行 -
find /etc -size +25k -a -size -50k
: 查看出大小大于25k小于50k的文件 -
find /etc -size +25k -a -size -50k exec ls -lh {} \;
:查看出大小大于25k小于50k的文件同时直接执行ls -lh
命令
grep
-
grep -i "size" install.log
: 在install.log文件中搜索包含size字符串的行-
-i
: 忽略大小写 -
-v
: 取反,即不包含
-
修改环境变量
- 在/etc/profile的最下面添加:
export PATH="$PATH:/NEW_PATH"
- 不够安全,是针对全部用户作出修改的
- 修改其个人用户主目录下的 .bashrc文件,在下面添加:
Export PATH="$PATH:/NEW_PATH"
- 针对用户作出修改,更加安全
帮助
-
man ls
: 查看ls的帮助文档-
-f
: 查看命令具有的等级级别 -
-1
: 查看命令具体等级级别的帮助文档 -
man -f
等于whereis
- 帮助文档内,j下移,k上移,q退出
-
-
ls --help
: 查看帮助命令,简略版 -
help cd
: 查看cd的帮助文档- 只能获取shell命令
压缩与解压
- 常见压缩格式:
.zip
.gz
.bz2
.tar.gz
.tar.bz2
zip
-
zip test.zip test
: 将test文件压缩到当前目录,不一定要写后缀,便于区别而已-
-r
: 压缩文件夹
-
-
unzip test.zip
: 解压压缩文件到当前目录下
gz
-
gzip test
: 将test文件压缩成.gz,不保留源文件-
gzip -c 源文件 > 压缩文件
: 压缩,同时保留源文件 -
gzip -r 目录
: 逐个压缩目录下的文件,目录本身不压缩
-
-
gzip -d 压缩文件
gunzip 压缩文件
, 解压缩-
-r
: 逐个解压缩目录里面全部压缩文件
-
bz2
不能压缩目录
-
bzip2 源文件
: 压缩源文件
--k
: 保留源文件 -
bzip2 -d 压缩文件
bunzip2 压缩文件
: 效果一样,解压文件
tar
将目录打包成tar文件,然后在通过gz或bz2来压缩
-
tar -cvf 打包文件 源文件
-
c
: 打包 -
v
: 显示过程 -
t
: test,不解压,只看压缩包里面的文件 -
f
: 指定打包后的文件名 -
z
: 直接打包同时压缩成gz格式 -
j
: 直接打包同时压缩成bz2格式
-
-
tar -xvf 解包文件名
-
z
: 直接解压缩gz同时解包 -
j
: 直接解压缩bz2同时解包
-
-
tar -jxvf 解包文件名 -C /tmp/
: 指定输出目录解压 -
tar -jxvf /tmp/test.tar.bz2 源文件1 源文件2
: 同时压缩多个文件到指定目录
其他
挂载
-
mount
: 查看挂载信息 -
mount -a
: 自动挂载,依据/etc/fstab
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
-
mount -t ext4 /dev/sr0 /mnt/cdrom/
: 挂载光盘 -
umonut /dev/sr0
: 卸载挂载 mount -t vfat /dev/sdb1 /mnt/usb

文件系统
-
fdisk -l
; 查看硬盘分区
用户管理
-
w
: 查看用户信息-
USER
: 用户名 -
TTY
: 终端 -
FROM
: 登陆IP -
LOGIN@
: 登录时间 -
IDLE
: 闲置时间 -
JCPU
: 所有进程占用时间 -
PCPU
: 当前进程占用时间 -
WHAT
: 正在执行的命令
-
-
last
: 查看系统所有用户登录信息与系统重启信息- 实际查询:
/var/log/wtmp
- 实际查询:
shell
shell是命令解释器,为用户提供一个向Linux内核发送请求以便运行程序的界面系统级程序。
shell是一个编程语言,易编写,易调试,可以解释脚本语言,直接调起Linux命令。
Bash csh
基础
- 开头必须 :
#!/bin/bash
-
alias vi="vim"
: 设置别名 -
vi ~/.bashrc
: 写入环境变量配置文件 -
unalias
: 删除别名
历史
-
history
-
-c
: 清空历史命令 -
-w
: 把缓存的历史命令写入历史命令保存文件~/.bash_history
-
快捷键
-
ctl+l
: 清屏 -
ctl+c
: 强制终止当前命令 -
ctl+a
: 移动光标到行首 -
ctl+e
: 移动光标到行尾 -
ctl+u
: 清空当前行 -
ctl+r
: 从历史命令搜索 -
ctl+z
: 把命令放入后台
重定向
将系统的信息按照自己意愿输出到自定义文件中,意思上类似与CrashHandler
配合定时任务,效果更佳
-
/dev/stdin
: 键盘,标准输入, 描述符 :0 -
/dev/sdtout
: 显示器 ,标准正确输出 , 描述符: 1 -
/dev/sdterr
: 显示器,标准错误输出,描述符:2
输出重定向
-
命令 > 目标输出文件
-
>
: 覆盖 -
>>
: 追加 -
1>
或1>>
: 记录正常输出信息 -
2>
或2>>
: 记录错误输出信息 - example:
ifconfig > ~/test.log
-
- 同时输出正确和错误命令信息
-
命令 >> 文件 2>&1
: 以追加的方式,同时输出错误和正确信息在同一文件 -
命令 &>> 文件
: 以追加的方式,同时输出错误和正确信息在同一文件 -
命令 >> 文件1 2>> 文件2
: 以追加的方式,将正确信息和错误分析分别输出到两个文件当中
-
输入重定向
-
wc 选项 文件名
: 不加选项的情况下,可以随意输入,然后ctrl+d退出-
-c
: 统计字节数 -
-w
: 统计单词数 -
-l
: 统计行数
-
管道符
执行命令直接的逻辑关系
-
;
: 顺序执行,不考虑逻辑关系 -
&&
: 逻辑与,当前面命令执行正确,才会执行 -
||
: 逻辑或,当前面命令执行错误,后面的才会执行 -
|
: 管道符: 第二条命令使用第一条命令正确执行的结果来执行
通配符
目录: abc , abc1 , abc2 , abc3 , abcabc , abca
-
通配符:根据规则执行命令
-
*
: 包含字段的所有文件 ex:"abc*"
: 列出所有abc -
?
: 匹配一个字符,多一个少一个都不行abc?
:abc1 ,abc2 ,abc3 ,abca
-
[]
: 匹配中括号内的一个字符 ex:"[*[cd]]"
以c或者d结尾的文件 -
^
: 逻辑非
-
-
字符

网友评论