linux目录的作用
/bin: (binaries) 存放系统命令的目录,所有用户都可以执行。
/sbin: (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命 令,有些命令可以允许普通用户查看。
/usr/bin: 存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式 下不能执行
/usr/sbin: 存放根文件系统不必要的系统管理命令,超级用户可执行 /root: 存放root用户的相关文件,root用户的家目录。宿主目录 超级用户
/home/当前普通用户的文件夹,名字默认就是当前的用户 举例:/home/bihai
/cd: 用户缺省宿主目录 eg:/home/spark
/tmp: (temporary)存放临时文件
/etc: (etcetera)系统配置文件
/usr: (unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等
/proc: 虚拟文件系统,数据保存在内存中,存放当前进程信息
/boot: 系统启动目录
/dev: (devices)存放设备文件
/dev: (devices)存放设备文件
/lib: 存放系统程序运行所需的共享库
/lost+found: 存放一些系统出错的检查结果。
/var: (variable) 动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任 务等
/mnt: (mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录
/media: 挂载目录。 挂载媒体设备,如软盘和光盘
/misc: 挂载目录。 挂载NFS服务
/opt: 第三方安装的软件保存位置。 习惯放在/usr/local/目录下
/srv: 服务数据目录
网络
外网:IP是唯一性,不能重复。范围:0.0.0.0~255.255.255.255
内网:通过路由器或者交换器设备,来重新设置IP地址。 不同的内网的ip可以相同。内网A的某一台主机通过自己的网卡与自己的路由器A通信,然后路 由器A通过网络中心 与路由器B通信,路由器B再与内网中的某一台机器的网卡通信。
IP: ip地址是确定一台机器的唯一标识符
NETMASK(子网掩码):与ip连用,用于确定网络段位 192.168.1.x 范围:1-254 255.255.255.0 子网掩码有1的位置对应ip的部分就是网络段位。0对应的位置就是内网中主机的位置。
子网掩码作用:用来指定当前机器属于哪个ip号段的
GATEWAY:网关,用于与连接外网的机器设备通信(路由器)换句话说,网关就是路由器的IP
DNS:域名解析服务器 119.75.217.109 www.baidu.com
虚拟网络连接方式
bridged(桥接模式)、NAT(网络地址转换模式)和 host-only(仅主机模式)
bridged(桥接模式)
使用vmnet0虚拟交换机,相当于网段内的一台独立计算机
NAT(网络地址转换模式)
虚拟机可以通过主机单向访问网络上其他的主机,其他主机不能访问虚拟机
主机连接的v8交换机的地址必须和虚拟机处的网关必须是一个地址
host-only(主机模式)
host-only是net模式去掉虚拟net设备
host-only模式将虚拟机与外网隔开只能与主机通信
SSH协议
1 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定 2 SSH 为建立在应用层基础上的安全协议。 3 SSH 专为远程登录会话和其他网络服务提供安全性的协议,可以有效防止远程管理过程中的信 息泄露问题。 4 SSH 由客户端和服务端两部分组成。服务端是一个sshd进程,提供密钥认证、密钥交换等处 理。客户端包含 SSH程序以及scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)
常用命令
命令格式:命令 [-选项][参数]
帮助命令
man
英文:manual 命令路径:/usr/bin/man 执行权限:所有用户
作用:获取命令或配置文件的帮助信息
语法:man [命令/配置文件]
# man ls man services
(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可) 调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。
help
help 查看shell内置命令的帮助信息
#help cd
命令名 --help
命令名 --help 列举该命令的常用选项
#cp --help
文件处理命令
cd
英文:change directory 命令路径:内部命令 执行权限:所有用户
cd : 切换工作目录
cd -: 回到上一次的操作所在位置
cd ~: 回到用户家目录
cd ./ : 当前目录
cd ../: 回到上一级目录
cd : 回到用户家目录
ls
查看目录 ls + 选项 + 目录名
英文:list 命令路径:/bin/ls 执行权限:所有用户
ll 等价于ls -l
-l 列表形式显示
# ls -l /bin 查看根目录下的bin目录下的所有文件或目录以列 表的形式查看
-a 所有文件或目录包括隐藏文件
# ll -a /bin 查看根目录下的bin目录下的所有文件或目录包含隐 藏文件
-h 以可读的方式显示文件大小,配合 -l 使用
# ll -h /bin 查看根目录下的bin目录下的所有文件或目录(显 示文件大小单位,如KB等)
pwd
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户
作用:显示当前工作目录 linux下的路径
pwd: 打印当前工作目录(全目录)
绝对路径: 以根目录为开始的目录
相对路径: 相对当前目录的路径
语法: pwd [-LP]
# cd /etc/init.d
pwd [-P]
mkdir
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录 (parents)
# mkdir linux/test 如果目录linux不存在,则报错,使用参 数-p即可自动创建父目录
touch
命令路径:/bin/touch 执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
# touch a.txt b.txt touch {a.txt,b.txt} 同时创建 多个文件,注意:后面{}中,中间不能有空格
# touch "program files" 创建带空格的文件
# touch "program files" 创建带空格的文件
echo
命令路径:/bin/echo 执行权限:所有用户
作用:查看某些环境变量/给文件增加内容(将文件创建出来)
语法:echo '字符串' > 文件名
# echo $PWD 查看当前的路径
# echo 'haha' > test1.txt 将字符串haha添加到test1.txt 里面,注意;会将文件原来的内容覆盖
# echo 'haha' >> test1.txt 将字符串haha追加到test1.txt 中,不会覆盖原来的内容
cp
英文:copy 命令路径:/bin/cp 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
相对路径# cp –R /etc/* . 将etc下的全部内容递归拷贝到当前 的目录下
绝对路径# cp –R /*ect/service /root/test/aa/bb
mv
英文:move 命令路径:/bin/mv 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
rm
英文:remove 命令路径:/bin/rm 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r(recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令。
vim编辑器
vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。
只有命令,没有菜单。
VIM工作模式
命令模式:又称一般模式
编辑模式:又称底行模式,命令行模式
a 在光标后附加文本
A(shift + a) 在本行行末附加文本 行尾
i 在光标前插入文本
I(shift+i) 在本行开始插入文本 行首
o 在光标下插入新行
O(shift+o) 在光标上插入新行
:set nu 设置行号
:set nonu 取消行号
gg G 到第一行 到最后一行
nG 到第n行
:n 到第n行
:w 保存修改
:w new_filename 另存为指定文件,如果文件不存在,会直接创建一个新的文件
:w >> a.txt 内容追加到a.txt文件中 文件需存在
:wq 保存修改并退出
shift+zz(ZZ) 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者可忽略文件的只读属性)
1 不保存并退出 :q
2 有修改,但是修改后的内容是不保存的 :q!
3 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,
ndd删除n行
:n1,n2d 删除指定范围的行(eg :1,3d 删除了123这三行)
dG 删除光标所在行到末尾的内容
D 删除从光标所在处到行尾
yy、Y 复制当前行
nyy、nY 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下 或行上
r 取代光标所在处字符
R(shift + r) 从光标所在处开始替换字符,按Esc结束
u undo,取消上一步操作
ctrl+r redo,返回到undo之前
/string 向后搜索指定字符串
?string 向前搜索指定字符串
n 搜索字符串的下一个出现位置,与搜索顺序相同
N(Shift + n) 搜索字符串的上一个出现位置,与搜索顺序相反
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串
:% s/^/#/g 来在全部内容的行首添加 # 号注释 ^代表行首
:1,10 s/^/#/g 在1~10 行首添加 # 号注释 vi里面查命令
:!which cp vi里面导入命令的结果
:r !which cp I或者O进入插入模式。
% 指全文,s 指开始,g 指结束
起始行,终止行s/要替换的字符串/替换的新的字符串/g 将/g换成/c 询问确认
ln
英文: link 命令路径:/bin/ln 执行权限:所有用户
作用:产生链接文件
语法:
ln -s [源文件][目标文件] 创建软链接 相当于建立快捷方式
注意:源文件 使 用 绝对路径
ln [源文件][目标文件] 创建硬链接 相当于深拷贝
# ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
创建文件/etc/service的软链接service.soft
创建文件/etc/service的硬链接/service.hard
软连接类似于windows下的快捷方式
软连接文件格式: lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services
1 1代表硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
2 13代表 链接文件的长度
3 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx
4 -> 箭头指向到源文件 真正的权限取决于对源文件的权限 时间值为创建软连接的时间 软连接可以跨文件系统生成
硬链接特征
1 相当于 cp -p +同步更新
2 通过i节点识别,与源文件有相同的inode节点 当修改其中的任意一个硬链接文件时,其他的文件内容也会同步更新
3 硬链接不能跨分区,
# ln /home/test/issuels /boot/test (错 误)
4 不能针对目录使用
# ln /tmp/ aa.hard (无法将目录/tmp 生成 硬链接)
删除软连接,源文件还在
# rm -rf symbolic_name
inode说明
Linux文件系统中的inode主要用于存放档案和目录的基本信息,当系统创建文件系统的同时会创 建大量的inode
cat
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户
作用:显示文件内容,直接显示全部内容
语法:cat [-n][文件名]
-A 显示所有内容,包括隐藏的字符
-n 显示行号
# cat /etc/services
more
命令路径:/bin/more 执行权限:所有用户
作用:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
enter键 显示下一行
q或Q 退出
相关指令:less
head
命令路径:/usr/bin/head 执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head [文件名]
-n 指定行数
# head -20 /etc/services head –n 3 /etc/services
tail
命令路径:/usr/bin/tail 执行权限:所有用户
作用:查看文件的后几行
语法:tail [文件名]
-n 指定行数
获取一个大文件的部分文件,可使用head或tail命令
# head -n 100 /etc/services >config.log 会直接用 /etc/services里面前100行的数据导入conflg.log文件中,并覆盖其中的内容
# head -n 100 /etc/services >>config.log 会直接用 /etc/services里面前100行的数据导入conflg.log文件中,并进行内容的追加
find
命令路径:/bin/find 执行权限:所有用户
作用:查找文件或目录
语法:find [搜索路径][匹配条件] 如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name按名称区分大小写查找
说明: 精准查找
# find /etc -name “init” 在目录/etc中查找文件init
-iname按名称不区分大小写查找
说明: 不区分大小写
# find /etc -iname “init” 在目录/etc中查找文件init
模糊查询:
find查找字符匹配:
*: 匹配所有
?: 匹配单个字符
# find /etc -name “init???” 在目录/etc中查找以init 开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。
如果*被转义,可使用单双引号括住查询条件,或者使用\\*。
# find –name "*g"
-size按文件大小查找
以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于
# find /etc -size -204800 在etc目录下找出小于100MB的文件 100MB=102400KB=204800block
-type按文件类型查找
f 二进制文件 l 软连接文件 d 目录 c 字符文件
find /dev -type c
find查找的基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
注意: 如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
grep
命令路径:/bin/grep 执行权限:所有用户
作用:在文件中搜寻字符串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
# grep ftp /etc/services
# grep -v ^# /etc/inittab 去掉文件行首的#号
# grep -n “init”/etc/inittab 显示在inittab文件中,init匹 配行及行号
# grep -c“init”/etc/inittab 显示在inittab文件中,init匹 配了多少次
管道的功能(过滤)
# find /root | grep a.txt
which
命令路径:/usr/bin/which 执行权限:所有用户
作用:显示系统命令所在目录(绝对路径及别名) which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索 结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个 位置的命令
# which ls 出现下面的信息,是ls指令的详情,说明ls指令是存 在的
alias ls='ls --color=auto' /bin/ls
# which zs 出现下面的信息,说明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 执行权限:所有用户
作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径
# which passwd 和 #whereis passwd eg: 查看/etc/passwd配置文件的帮助,就用 man 5 passwd
df命令
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点 等信息。看剩余空间
语法:df [-hkam][挂载点]
-h (human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等
-k 以KB 为单位显示各分区的信息,默认
-m 以MB为单位显示信息
-a 显示所有分区包括大小为0 的分区
du命令
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-ahs][文件名目录]
-a 显示子文件的大小
-h 以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
# du -a(all) /home 显示/home 目录下每个子文件的大小,默认 单位为kb
# du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的 大小
# du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的 总大小 -s summarize df命令和du命令的区别: df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。 du命令面向文件,只计算文件或目录占用的空间。
执行下面的命令查看区别
# df –h /
# du –sh /
free
作用:显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
语法: free [-kmg]
选项:
-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][文件]
注意: 在纯命令行系统中没有默认安装bzip2命令,需要手动安装 yum -y install bzip2.x86_64
-k: 产生压缩文件后保留原文件(压缩比高)
-d: 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
zip
命令路径:/usr/bin/zip 执行权限:所有用户
作用: 压缩(解压)文件,压缩文件后缀为.zip,保留源文件
语法: zip 选项 [压缩后文件名称] [文件或目录]
注意: 在纯命令行系统中没有默认安装zip命令,需要手动安装 yum -y install zip
-r 压缩目录
# zip services.zip /etc/services 压缩文件
# zip -r test.zip /test 压缩目录 如果不加-r选项,压缩后的文件没有数据。
解压使用unzip ,注意如果解压时,已经存在与压缩文件同名的目录名,默认不会进行覆盖,如果选 择Y,会进行覆盖
tar
命令路径:/bin/tar 执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
date
1 date命令是显示或设置系统时间与日期。
2 查看系统时间直接使用 date
3 以自定义的方式显示系统时间: date +'%Y-%m-%d %H:%M:%S'
注意:+与字符串之间不能有空格,与date之间要有空格
4 设置时间(注意:最好不要随意的设置,特别是不要随意的同步bios,造成系统的时间混乱)
# date -s "2015-5-8 19:48:00"
5 同步到bios,重启之后才能继续生效
# hwclock -w
关机命令:shutdown
语法:shutdown [选项] 时间
选项:
-c: 取消前一个关机命令
-h: 关机
-r: 重启
# shutdown -h now 立即关机
# shutdown -h 20:30 定时关机
其他关机命令:
halt
poweroff
init 0
重启命令:reboot
reboot 重启系统
# reboot -h now 立即重启
重启命令:init 6
注意:生产环境中,关机命令和重启命令谨慎执行。
执行等级
linux有七种执行等级:
init 0: 停机
init 1:单用户形式,只root进行维护
init 2:多用户,不能使用net file system
init 3:完全多用户
init 5:图形化
init 4:安全模式
init 6:重启
Linux的快捷键命令
善于查看man help等帮助文档
利用好Tab键 自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史)
history ctrl + l(清屏,与clear命令作用相同)
对当前命令行的操作:
方向箭头 上 下 可以查看执行过的命令并再次使用
ctrl + a 行首 ctrl + e 行尾 ctrl+d 清除当前的字符
ctrl + k 清除光标后面的内容 ctrl+ w 清除光标前面的单词
小技巧: linux 不进去系统更改root密码
1.开机时按'e'键进入grub
2.在grub选项菜单按e进入编辑模式
3.编辑kernel那行 输入” 1”(空格1),然后按enter键。
4.按b重启
5.进入后执行下列命令
passwd root
passwd root (配置root的密码)——>Enter new unix password:输入新的密码——>init 6