Linux目录结构
在 Linux 世界里,一切皆文件。
/bin [重点] (/usr/bin 、 /usr/local/bin)
是Binary的缩写, 这个目录存放着最经常使用的命令
/home [重点]
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般
该目录名是以用户的账号命名的。
/root [重点]
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin (/usr/sbin 、 /usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc [重点]
所有的系统管理所需要的配置文件和子目录 my.conf
/usr [重点]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/proc
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
/boot [重点]
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
/srv
service缩写,该目录存放一些服务启动之后需要提取的数据。
/sys
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs
/tmp
这个目录是用来存放一些临时文件的。
/dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储。
/media [重点]
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt [重点]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare
/selinux [security-enhanced linux] 360
SELinux是一种安全子系统,它能控制程序只能访问特定文件。
/var [重点]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
/opt
这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。默认为空。
/usr/local [重点]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
vi 和 vim 的三种常见模式
正常模式
在正常模式下,我们可以使用快捷键。
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
插入模式/编辑模式
在模式下,程序员可以输入内容。
按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可
命令行模式
在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!
模式转化:
关机&重启命令
shutdown
shutdown -h now : 表示立即关机
shutdown -h 1 : 表示 1 分钟后关机
shutdown -r now: 立即重启
halt
就是直接使用,效果等价于关机
reboot
重启系统
syn
把内存的数据同步到磁盘
文件目录类的相关指令
pwd:
显示当前工作目录的绝对路径
ls:
查看当前目录的所有内容信息
ls -a:显示当前目录所有的文件和目录,包括隐藏的。
ls -l:以列表的方式显示信息
cd:
切换到指定目录
mkdir:
创建目录
mkdir -p:创建多级目录
redir:
删除空目录
rm -rf:删除非空目录
touch:
创建空文件
rm:
删除文件或目录
rm -r :递归删除整个文件夹
rm -f : 强制删除不提示
cp:
拷贝文件到指定目录
cp -r:递归复制整个文件夹
\cp -r:强制覆盖同名文件
mv:
移动文件与目录或重命名
cat:
查看文件内容,是以只读的方式打开。
cat -n :显示行号
more:
是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容
空白键 (space):代表向下翻一页;
Enter:代表向下翻『一行』;
q:代表立刻离开 more ,不再显示该文件内容。
Ctrl+F:向下滚动一屏
Ctrl+B:返回上一屏
=:输出当前行的行号
:f:输出文件名和当前行的行号
less:
用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。
less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
空白键:向下翻动一页;
[pagedown]:向下翻动一页
[pageup]:向上翻动一页;
/字串:向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字串:向上搜寻『字串』的功能;n:向上查找;N:向下查找;
q:离开 less 这个程序;
> / >> :
> 输出重定向:会将原来的文件的内容覆盖
>> 追加:不会覆盖原来文件的内容,而是追加到文件的尾部
ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
echo "内容">> 文件
echo:
输出内容到控制台。
echo [选项] [输出内容]
head:
用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
tail:
用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
tail 文件 (功能描述:查看文件头10行内容)
tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新)
history:
查看已经执行过历史命令,也可以执行历史指令
history (功能描述:查看已经执行过历史命令,显示所有的历史命令)
history 10 (功能描述:显示最近使用过的10个指令)
! 5 (功能描述:执行历史编号为5的指令)
时间日期类的相关指令
date指令-显示当前日期
date (功能描述:显示当前时间)
date +%Y (功能描述:显示当前年份)
date +%m (功能描述:显示当前月份)
date +%d (功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
date指令-设置日期
date -s 字符串时间
cal指令-查看日历
cal [选项] (功能描述:不加选项,显示本月日历)
搜索查找类的相关指令
find:
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:find [搜索范围] [选项]
选项说明:
-name <查询方式>:按照指定的文件名查找模式查找文件
-user <用户名>:查找属于指定用户名所有文件
-size <文件大小>:按照指定的文件大小查找文件
案例1: 按文件名:根据名称查找/home 目录下的hello.txt文件
案例2:按拥有者:查找/opt目录下,用户名称为 nobody的文件
案例3:查找整个linux系统下大于200m的文件(+n 大于 -n小于 n等于)
locate:
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
基本语法:locate 搜索文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
grep指令和 管道符号 |:
grep 过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
grep [选项] 查找内容 源文件
常用选项
-n 显示匹配行及行号。
-i 忽略字母大小写
压缩解压类的相关指令
gzip/gunzip:
gzip 用于压缩文件, gunzip 用于解压的
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
zip/unzip:
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
zip的常用选项:
-r:递归压缩,即压缩目录
unzip的常用选项:
-d<目录> :指定解压后文件的存放目录
tar:
tar 指令是打包指令,最后打包后的文件是 .tar.gz 的文件。
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
进程管理的相关指令:
ps:
ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数
ps -a:显示当前终端的所有进程信息
ps -u:以用户的格式显示进程信息
ps -x:显示后台进程运行的参数
指令说明
• System V展示风格
• USER:用户名称
• PID:进程号
• %CPU:进程占用CPU的百分比
• %MEM:进程占用物理内存的百分比
• VSZ:进程占用的虚拟内存大小(单位:KB) • RSS:进程占用的物理内存大小(单位:KB) • TT:终端名称,缩写 . • STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
• STARTED:进程的启动时间
• TIME:CPU时间,即进程使用CPU的总时间
• COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
ps -ef:是以全格式显示当前所有的进程
-e 显示所有进程,-f 全格式
• ps -ef|grep xxx
• 是BSD风格
• UID:用户ID
• PID:进程ID
• PPID:父进程ID
• C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,
执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
• STIME:进程启动的时间
• TTY:完整的终端名称
• TIME:CPU时间
• CMD:启动进程所用的命令和参数
kill / killall:
kill [选项] 进程号(功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
kill -9 :表示强迫进程立即停止
pstree:
pstree [选项] ,可以更加直观的来看进程信息
pstree -p :显示进程的PID
pstree -u :显示进程的所属用户
服务管理指令:
service 服务名 [start | stop | restart | reload | status]
ls -l /etc/init.d/:列出系统有哪些服务
chkconfig:
通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
查看服务:chkconfig --list | grep xxx
查看服务:chkconfig 服务名 --list
设置服务:chkconfig --level 5 服务名 on/off
top:
top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。
top [选项]
-d 秒数:指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的
-i:使top不显示任何闲置或者僵死进程。
-p:通过指定监控进程ID来仅仅监控某个进程的状态。
交互操作:
P:以CPU使用率排序,默认就是此项
M:以内存的使用率排序
N:以PID排序
q:退出top
监控网络状态指令:
netstat:
查看系统网络情况
netstat [选项]
-an 按一定顺序排列输出
-p 显示哪个进程在调用
rpm包的相关指令:
介绍:
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
格式:
一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.1-1
适用操作系统: el6.centos.x86_64
表示centos6.x的64位系统
如果是i686、i386表示32位系统,noarch表示通用。。
查询:
rpm -qa :查询所安装的所有rpm软件包
rpm -q 软件包名 :查询软件包是否安装
rpm -qi 软件包名 :查询软件包信息
rpm -ql 软件包名 :查询软件包中的文件
rpm -qf 文件全路径名 查询文件所属的软件包
卸载:
rpm -e RPM包的名称 :卸载
rpm -e --nodeps RPM包的名称 :强力卸载,不推荐使用
安装:
rpm -ivh RPM包全路径名称
i:install 安装
v:verbose 提示
h:hash 进度条
Yum包的相关指令:
介绍:
Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
指令:
yum list | grep xx:查询yum服务器是否有需要安装的软件
yum install xxx:安装指定的yum包
本文深入探讨了Linux操作系统中的目录结构,包括/bin、/home、/root、/etc等关键目录的作用。此外,介绍了vi/vim编辑器的三种模式,以及Linux系统中的关机、重启命令。还涵盖了文件管理、进程管理、时间日期、搜索查找、压缩解压、服务管理和网络状态监控等常用命令的使用方法。通过本文,读者可以全面了解Linux的基本操作和系统管理。

2356

被折叠的 条评论
为什么被折叠?



