linux 文件目录标准,变量,修改字符集运行级别,设置别名和软件安装,(nginx),换源

# FHS

在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,
于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准。
FHS 标准规定了 Linux 根目录各文件夹的名称及作用,统一了Linux界命名混乱的局面。

`FHS` 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新!

无论何种版本的 Linux 发行版,桌面、应用是 Linux 的外衣,文件组织、目录结构才是Linux的内心。

# 与windows的区别

windows系统下,通常会有多个盘符,路径的起始是盘符,而在linux中,没有盘符一切都从根开始,

这看起来就像一棵树形结构,就像下图:

![78f9859egw1etbt8f77f2j20io0bsgm4](https://ws4.sinaimg.cn/large/006tNc79gy1g2pkqyn76jj30io0bsgm4.jpg

# 挂载

那其他磁盘的数据如何访问呢?,通过挂载到某个目录下来访问外置的设备,通常挂载到在mnt或是media目录下

挂载指的是使操作系统可以访问某一个存储设备的的过程,简单的是说就是分配一个路径给存储设备,等同于windows下的指定盘符!

# 目录详解:

```python
目录 说明 备注
bin 存放普通用户可执行的指令
boot 开机引导目录 包括Linux内核文件与开机所需要的文件
dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中
etc 各种配置文件目录 大部分配置属性均存放在这里
lib/lib64 开机时常用的动态链接库 bin及sbin指令也会调用对应的lib库
media 可移除设备挂载目录 类似软盘 U盘 光盘等临时挂放目录
mnt 用户临时挂载其他的文件系统 额外的设备可挂载在这里,相对临时而言
opt 第三方软件安装目录 现在习惯性的放置在/usr/local中
proc 虚拟文件系统 通常是内存中的映射,特别注意在误删除数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来
root 系统管理员主目录 除root之外,其他用户均放置在/home目录下
run 系统运行是所需文件 以前防止在/var/run中,后来拆分成独立的/run目录。重启后重新生成对应的目录数据
sbin 只有root才能运行的管理指令 跟bin类似,但只属于root管理员
snap ubunut全新软件包管理方式 snap软件包一般在/snap这个目录下
srv 服务启动后需要访问的数据目录
lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
sys 跟proc一样虚拟文件系统 记录核心系统硬件信息
tmp 存放临时文件目录 所有用户对该目录均可读写
usr 应用程序放置目录
var 包括系统一般运行时要改变的数据.例如各种日志记录,邮件来往等,每个系统是特定的,不通过网络与其他计算机共享.
```

# etc下文件的重要文件

![image-20190504212457401](https://ws4.sinaimg.cn/large/006tNc79gy1g2plr3oomsj30ef0h979h.jpg)

![image-20190504212511319](/Users/jerry/Library/Application Support/typora-user-images/image-20190504212511319.png)

# 网卡配置详解

![image-20190504212753587](https://ws4.sinaimg.cn/large/006tNc79gy1g2plu54do7j30jd0ftgqk.jpg

![image-20190504212801451](/Users/jerry/Library/Application Support/typora-user-images/image-20190504212801451.png)

DNS也可以在/etc/resolv.conf中进行配置

![image-20190504214613089](https://ws3.sinaimg.cn/large/006tNc79gy1g2pmd6sb2mj30ce02et8t.jpg)

![image-20190504214617739](/Users/jerry/Library/Application Support/typora-user-images/image-20190504214617739.png)

**注意key的名称**

当在network-scripts下配置之后,重启网卡会自动覆盖resolv.conf中的配置,我们可以用PEERDNS参数指定是否覆盖resolv.conf中的信息,但是最终使用的还是resolv.conf中的信息

另外resolv.conf中的配置修改了之后是立即生效的

查看主机名称

uname  -n

hostname

获取全部系统信息

uname -a

hostnamectl  更详细

设置主机名称

hostnamectl   set-hostname  (修改的名字)

重新连接生效

字符编码设置

存在于/etc/locale.conf文件与变量$LANG

查看 :echo $LANG

修改变量临时有效

export  LANG=zh_CN.utf-8

修改文件

1.:进入文件修改

2:命令行  localectl set-locale LANG=en_US.utf-8

以上两种方式修改后都不会立即生效,需要重新加载配置文件

? source /etc/locale.conf # 当然重新启动也可以

运行级别

1.查看详细信息

? ll /etc/systemd/system/default.target

? vim /etc/systemd/system/default.target

? 2仅级别

? systemctl get-default

runlevel #centos 6

#### 查看所有可用级别

? ll /usr/lib/systemd/system/runlevel*.target

? ll /etc/inittab #centos 6

#### 修改当前级别

? init 5 # 修改为第五个级别,使用systemctl get-default来查看效果,发现该方式在centos7下不生效

? systemctl set-default graphical.target

? graphical.target 也可以修改为文件名称

? systemctl set-default runlevel3.target

? **注意**:通常运行在3级别

别名

设置别名

别名指的是 给某个指令设置别名,可用简化命令的编写,或是提供额外的功能

例如 系统的在执行删除指令前都会先提示,其实就是使用了别名,

#### 查看别名

? alias

#### 设置新的别名(临时)

? alias rm=‘echo rm is dangerouse be careful‘ # 执行rm时仅提示信息

? 注意:被替换的也一定是一个命令,所以当你要输出内容时,就用echo

? alias rm=‘echo rm is dangerouse be careful;rm -f‘ # 执行rm时提示信息 并删除

#### 设置新的别名(永久)

? 在配置文件中编写 设置别名的指令

? vim /etc/profile

? ![image-20190504233728674](https://ws2.sinaimg.cn/large/006tNc79gy1g2ppkyoc4tj306v03wt8r.jpg)

![image-20190504233733838](/Users/jerry/Library/Application Support/typora-user-images/image-20190504233733838.png)

退出vmi,重新加载文件

source /etc/profile

如果别名与系统重复,需要注释其中一个

vim ~/.bashrc

注释同名的 `#alias rm =‘rm -i‘`

source ~/.bashrc

变量:

设置变量

#### 查看所有变量

env

#### 查看某个变量

echo $变量名称

#### 设置临时变量

export 变量名=值

#### 设置永久变量

将变量的定义放到某个环境变量文件中

vim /etc/profile

MYNAME=jerry

测试

echo $MYNAME

### 取别名的优化案例:

```shell
cat >>/etc/profile.d/color.sh<<"EOF"
alias ll=‘ls -l --color=auto --time-style=long-iso‘
PS1=‘\[\e[32;1m\][\[email protected]\h \W]\$ \[\e[0m\]‘
EOF
source  /etc/profile

usr目录

/usr/local 编译安装软件默认的路径

/usr/src 存放源码文件的路径

# 软件安装

## yum方式

yum是通常发行版的linux系统都内置了yum包管理器,使用它可以很方便的管理软件包,必须联网使用

#### 安装

yum install -y sl

#### 搜索

yum search sl

#### 删除

yum remove sl

#### 查看命令所在软件包

yum provides sl

#### 查看源仓库

yum repolist

## rpm方式

全称 redhat packages manager ,是一个本地的包管理器,需要提供安装文件

**1.安装一个rpm包:**

用法:`rpm -ivh rpm_name`

参数解释:
-i(install):安装软件包。
-v(verbose):显示安装的过程信息。可视化。
-h(hash):软件安装的时候列出哈希标记。即显示安装进度。
另外在安装一个rpm包时常用的附带参数有:
--force : 强制安装,即使覆盖属于其他包的文件也要安装

**2.卸载一个rpm包**

命令:`rpm -e filename`

**3.查询一个包是否安装:**

命令:`rpm -qa rpm包名`

**4.列出一个rpm包安装的所有文件**

命令 `rpm -ql 包名`

**5.列出一个rpm包的配置文件**

命令 `rpm -qc 包名`

**6.查看命令所在的绝对路径**

which netstat

**7.查看文件归属软件包**

rpm -qf /usr/bin/netstat

nginx 安装

nginx软件编译安装步骤:
#第一个里程:下载nginx程序软件包
mkdir /server/tools -p
cd /server/tools
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar xf nginx-1.14.0.tar.gz

#第二个里程:解决软件依赖问题
yum install openssl-devel pcre-devel -y
openssl-devel --- 为了让nginx服务可以实现https访问的功能
pcre-devel --- 兼容perl语言的正则表达式(^ shell:以什么开头 perl:^/)
nginx使用时会应用一个参数rewrite 正则表达式信息(perl)

#第三个里程:创建worker进程的管理用户
useradd -s /sbin/nologin -M www

#第四个里程:编译安装软件过程
#编译安装软件三部曲
#01.进行软件的配置

cd nginx-1.14.2
./configure --prefix=/application/nginx-1.14.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
#重要配置参数总结
#--prefix=PATH set installation prefix
# 设置软件程序安装到哪个目录,指定的目录不需要创建出来
#--user=USER set non-privileged user for worker processes
#--group=GROUP set non-privileged group for worker processes
#--with-http_ssl_module enable ngx_http_ssl_module(可以实现https)
#--with-http_stub_status_module enable ngx_http_stub_status_module(主要用于监控服务运行状态)

#02.进行软件的编译(将各个语言编写代码翻译成系统可以识别的二进制信息)
make

#03.进行编译安装(将软件最终安装到系统中)
make install

#第五个里程:创建程序软链接
ln -s /application/nginx-1.14.2/ /application/nginx
[[email protected] application]# ll /application/nginx-1.14.2/
total 16
drwxr-xr-x 2 root root 4096 May 16 10:49 conf
drwxr-xr-x 2 root root 4096 May 16 10:49 html
drwxr-xr-x 2 root root 4096 May 16 10:49 logs
drwxr-xr-x 2 root root 4096 May 16 10:49 sbin

一个程序目录部署好,会被其他开发程序或者脚本程序所调用
代码程序1:nginx_info1="/application/nginx/"
代码程序2:nginx_info2="/application/nginx/"
代码程序3: nginx_info3="/application/nginx/"

#第六个里程:启动nginx服务
/application/nginx/sbin/nginx

#查看80端口
netstat -lntup

#将sbin添加至环境变量

vm虚拟机换源

Vmware 安装CentOS7后替换yum源

cd /etc/yum.repos.d/
mv  CentOS-Base.repo  CentOS-Base.repo.bak
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo CentOS-Base.repo
yum clean all
yum makecache
yum install epel-release
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

报错Another app is currently holding the yum lock; waiting for it to exit...的解决办法 
rm -f /var/run/yum.pid

检查centos的版本:

[root@shuimo usr]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core) 
  • 1
  • 2

设置不休眠

applications — system tools —setting —power –设置blank 为never。

原文地址:https://www.cnblogs.com/wrqysrt/p/10813958.html

时间: 2024-11-29 12:03:56

linux 文件目录标准,变量,修改字符集运行级别,设置别名和软件安装,(nginx),换源的相关文章

关于Ubuntu修改默认运行级别

第一种方法:(内核级别的) Sudo vi /etc/default/grub 修改GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 为:GRUB_CMDLINE_LINUX_DEFAULT=” text” 然后运行下sudo update-grub2就可了 第二种方法:(基于upstart的”正统”方法) ubuntu的upstart的体系下,/etc/init.d里面基本上都是连接到/lib/init/upstart-job的软连接,所以,对 initscr

Redhat 7修改默认运行级别方法 --RHEL7使用systemd创建符号链接指向默认运行级别

今天装了下正式版的RHEL7,发现熟悉的inittab中没有了修改默认运行级别,打开inittab如下 [[email protected] init.d]# vi /etc/inittab # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # Ctrl-Alt-Delete is handled by /etc/s

centos 7 修改默认运行级别

查看当前运行级别: # runlevel 修改默认运行级别: #systemctl set-default multi-user.target    //修改为级别3(文本模式) 各运行级别: runlevel0.target => poweroff.target runlevel1.target => rescue.target runlevel2.target => multi-user.target runlevel3.target => multi-user.target

CentOS 7修改默认运行级别

修改系统启动默认界面,执行如下: 1,字符界面: #ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target 2,图形界面: #ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target CentOS 7修改默认运行级别

Centos修改默认运行级别

一.centos默认运行级别 # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11

浅谈Linux系统中的7种运行级别及其原理

浅谈Linux系统中的7种运行级别 Linux系统7个运行级别(runlevel): 运行级别0: 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动. 运行级别1: 单用户工作状态,root权限,用于系统维护,禁止远程登陆. 运行级别2: 多用户状态(没有NFS). 运行级别3: 完全的多用户状态(有NFS),登陆后进入控制台命令行模式. 运行级别4: 系统未使用,保留. 运行级别5: X11控制台,登陆后进入图形GUI模式. 运行级别6: 系统正常关闭并重启,默认运行级别不能设为6,

4. sudo,PATH环境变量,修改字符集,ntpserver,加大文件描述符,隐藏内核版本,锁定关键系统文件

1   命令:  visudo 98gg      98行 yy           复制当前行 p             粘贴 改成   zhang   ALL(ALL)  NOPASSWD:ALL 2  修改PATH环境变量路径 PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bi

CentOS7修改默认运行级别

新装了一个虚拟机,图形界面启动太慢,想调整一下按照以前的经验改运行级别,输入: vi /etc/inittab 然后发现跟之前不一样了,在inittab设置不再生效: # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # Ctrl-Alt-Delete is handled by /usr/lib/systemd/s

CentOS 7.4 修改默认运行级别

修改CentOS 7.4 默认运行级别版本:CentOS 7.4,安装的开发和开发库,默认运行级别是桌面,修改为命令行界面.1.查看inittab文件,命令:vi /etc/inittab命令:systemctl get-default(查看当前默认模式)命令:systemctl set-default multi-user.target(设置默认模式为3,及命令行模式)命令:reboot(重启),重启服务器生效 原文地址:http://blog.51cto.com/6707135/209296