Linux常用操作

一、Linux安装中文字体

1.1 查看字体

  1. 安装相关软件包:在基于yum的系统中,可通过以下命令安装字体相关工具:
1
yum install -y fontconfig mkfontscale
  1. 查看系统默认字体:执行以下命令查看系统中所有字体列表:
1
fc-list
  1. 查看系统中已安装的中文字体:使用以下命令筛选出系统中已安装的中文字体:
1
fc-list :lang=zh

1.2 安装字体

  1. 复制字体文件:将所需的字体文件复制到系统字体目录/usr/share/fonts/
  2. 更新字体缓存:在字体目录下执行以下一系列命令来更新字体缓存:
1
2
3
4
cd /usr/share/fonts/
mkfontscale
mkfontdir
fc-cache

mkfontscalemkfontdir命令用于生成字体的索引信息,fc-cache则用于更新字体缓存,使新安装的字体生效。

二、tar命令

tar命令常用于处理归档文件,以下是其常用参数说明:

  • -c:创建(create)压缩档案。
  • -x:解压缩压缩档案。
  • -z:表示使用gzip进行压缩或解压。
  • -v:在压缩或解压过程中显示档案信息。
  • -f:指定档案名,且在f后面需立即接文件名,不能再加其他参数。

2.1 压缩

以下命令将/home/www/images目录压缩为/home/www/images.tar.gz文件:

1
tar -zcvf /home/www/images.tar.gz /home/www/images 

2.2 解压

执行以下命令解压/home/images.tar.gz文件:

1
tar -zxvf /home/images.tar.gz

三、unzip命令

unzip命令用于解压.zip格式的压缩文件,以下是其常用参数:

  • -c:将解压缩的结果显示到屏幕上,并对字符做适当转换。
  • -f:更新现有的文件。
  • -l:显示压缩文件内所包含的文件。
  • -p:与-c类似,将解压缩结果显示到屏幕,但不执行转换。
  • -t:检查压缩文件是否正确。
  • -u:除更新现有文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v:执行时显示详细信息。
  • -z:仅显示压缩文件的备注文字。
  • -a:对文本文件进行必要的字符转换。
  • -b:不对文本文件进行字符转换。
  • -C:压缩文件中的文件名称区分大小写。
  • -j:不处理压缩文件中原有的目录路径。
  • -L:将压缩文件中的全部文件名改为小写。
  • -M:将输出结果送到more程序处理。
  • -n:解压缩时不覆盖原有的文件。
  • -o:不必先询问用户,直接覆盖原有的文件。
  • -P<密码>:使用zip的密码选项。
  • -q:执行时不显示任何信息。
  • -s:将文件名中的空白字符转换为底线字符。
  • -V:保留VMS的文件版本信息。
  • -X:解压缩时同时回存文件原来的UID/GID。
  • -d<目录>:指定文件解压缩后所要存储的目录。
  • -x<文件>:指定不要处理.zip压缩文件中的哪些文件。
  • -Zunzip -Z等于执行zipinfo指令。

3.1 常用解压示例

  • 在当前目录下解压:将压缩文件test.zip在当前目录下解压:
1
unzip test.zip
  • 在指定目录解压且不覆盖原有文件:将压缩文件test.zip/home目录下解压,若已有相同文件存在,不覆盖原先文件(如需覆盖则将-n换成-o):
1
unzip -n test.zip -d /home
  • 查看压缩文件目录但不解压
1
unzip -v test.zip 

四、NFS(网络文件系统)

4.1 服务端配置

  1. 安装服务:在基于yum的系统上,通过以下命令安装NFS服务及相关依赖:
1
yum -y install nfs-utils rpcbind
  1. 创建共享目录:执行以下命令创建一个共享目录:
1
mkdir /myShare
  1. 授权:赋予共享目录及其所有子目录和文件最高权限:
1
chmod -R 777 /myShare
  1. 编辑export文件:使用文本编辑器(如vi)打开/etc/exports文件,并添加允许访问此共享目录的Linux服务器IP及相关权限设置:
1
2
vi /etc/exports
/home/upload 192.168.1.24(rw,sync,no_root_squash,no_subtree_check)

上述配置表示/home/upload目录允许IP为192.168.1.24的客户端以读写(rw)方式访问,数据同步写入磁盘(sync),不限制客户端的root用户权限(no_root_squash),不检查子树(no_subtree_check)。
5. 重启服务:重启RPC Bind服务和NFS服务,并设置开机自启:

1
2
3
4
systemctl restart rpcbind
systemctl enable rpcbind
systemctl restart nfs-server
systemctl enable nfs-server
  1. 使配置生效:可使用以下命令使/etc/exports的配置生效:
1
2
3
exportfs -a
# 或者
exportfs -r
  1. 关闭防火墙(可选):查看防火墙状态并进行相应操作,如关闭防火墙:
1
2
3
4
5
6
7
8
9
10
# 查看状态
systemctl status firewalld.service
# 打开防火墙
systemctl start firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 开启防火墙开机自启
systemctl enable firewalld.service
# 禁用防火墙开机自启
systemctl disable firewalld.service

4.2 客户端配置

  1. 查看服务端状况:使用以下命令查看NFS服务器共享的目录:
1
showmount -e NFS服务器IP
  1. 查看已挂载目录:执行以下命令查看本地已挂载的NFS目录:
1
showmount -a
  1. 挂载共享目录:将服务端的共享目录挂载到本地指定目录:
1
mount 服务端IP:/home/upload	/home/upload
  1. 开机自动挂载:编辑/etc/fstab文件,添加以下内容实现开机自动挂载:
1
2
vi /etc/fstab
服务端IP:/home/nfs_database /nfs_database nfs defaults 0 0

五、Cat配合Grep搜索

5.1 显示文件里匹配关键字那行以及上下50行

使用以下命令可显示包含关键字的行及其上下50行内容:

1
cat 文件名 | grep -C 50 '关键字'

5.2 显示关键字及前50行

此命令可显示包含关键字的行及其前面50行内容:

1
cat 文件名 | grep -B 50 '关键字'

5.3 显示关键字及后50行

执行该命令能显示包含关键字的行及其后面50行内容:

1
cat 文件名 | grep -A 50 '关键字'

六、Nginx安装

6.1 安装基础依赖

在基于yum的系统上,通过以下命令安装Nginx编译所需的基础依赖:

1
2
3
4
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

6.2 下载、解压与编译

  1. 解压:假设已下载nginx-1.16.1.tar.gz安装包,解压该文件:
1
tar -zxvf nginx-1.16.1.tar.gz
  1. 配置:进入解压后的目录,执行configure脚本进行配置,以下是一个示例配置:
1
./configure    --prefix=/app/nginx   --user=nginx   --group=nginx   --with-http_stub_status_module

上述配置指定了安装路径为/app/nginx,运行用户和组为nginx,并添加了http_stub_status_module模块支持状态统计操作。也可参考注释中的多行配置示例,根据实际需求调整。
3. 编译与安装:执行以下命令进行编译和安装:

1
2
make
make install

6.3 启动Nginx

  1. 创建用户和组:为Nginx创建运行用户和组:
1
2
groupadd nginx
useradd -g nginx nginx
  1. 启动Nginx:进入Nginx安装目录的sbin子目录,执行启动命令:
1
2
cd /home/nginx/sbin
./nginx
  1. 关闭防火墙(CentOS7):为确保Nginx能正常对外提供服务,可关闭CentOS7的防火墙:
1
systemctl stop firewalld.service