Linux

本文深入探讨了Linux操作系统中的目录结构,包括/bin、/home、/root、/etc等关键目录的作用。此外,介绍了vi/vim编辑器的三种模式,以及Linux系统中的关机、重启命令。还涵盖了文件管理、进程管理、时间日期、搜索查找、压缩解压、服务管理和网络状态监控等常用命令的使用方法。通过本文,读者可以全面了解Linux的基本操作和系统管理。

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包

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值