Linux与CentOS系统管理及网络服务应用技巧

内容导读

  • Linux与CentOS7基础应用
  • Linux中安装应用软件
  • Linux常用命令参考

一、Linux与CentOS7基础应用

1.1 下载并安装CentOS7(Linux的一种应用版)

1.  官网下载虚拟机系统VirtualBox(双击安装文件按提示完成安装)

官方下载:Downloads – Oracle VM VirtualBox

2. 官网下载CentOS7:版本CentOS-7-x86 64-DVD-2009.iso 

下载地址:​​​​​​​​​​​​​​​​​​​​​​​​​​​​centos-7-isos-x86_64安装包下载_开源镜像站-阿里云

 

3. 在VirtualBox中安装CentOS7 (按提示完成安装)

4. 接下来在windows中安装finalshell,同时到CentOS7上开放22端口(默认是开放的)

(1)官网下载finalshell,双击安装文件按提示完成安装。

http://www.hostbuf.com/downloads/finalshell_windows_x64.exe

(2)进入桌面版CentOS的命令终端

输入:vi  /etc/ssh/sshd_config  

在文件中添加 Port  22 (不添加默认也是打开的)保存退出

​​​​​​​

提示:VirtualBox与CentOS详细安装过程请参考本站之后分享或相关网络资源。

1.2 环境配置

1.网络配置

(1)修改根下的网络配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33

(2)vi /etc/sysconfig/network-scripts/ifcfg-ens33

(3)将其中改为ONBOOT=yes

(4)重启系统reboot

(5)使用ping检测一下网络是否连通 ping www.baidu.com

2.安装ifconfig命令

yum install net-tools.x86_64 -y ifconfig虚拟机的ip地址

3.安装FinalShell方便上传下载文件

通过查询到的ip地址连接到虚拟机中centos

4.安装rz与sz命令,方便上传或下载文件

yum  -y  install  lrzsz  ls

1.3 设置静态IP命令

管理员账户下执行以下命令

1.使用ifconfig 看下网卡对应的名称

vm  /etc/sysconfig/network-scripts/网卡对应名称

#ip获取方式 静态地址
IPADDR=192.168.0.28 #ip地址
NETMASK=255.255.255.0  #子网掩码
GATEWAY=192.168.0.1  #网关
ONBOOT=true  #不知道

2.重启网络

systemctl restart network

1.4 文件查看命令

1. cat  查看文件的所有内容,所有内容都罗列到控制台上

2. more  查看文件内容,一次一个屏幕 ,回车可以翻页

按Q 可以退出 ctrl+c 也可以退出

3. less 与more类似 ,内容过多,可以使用上下键或者滚轮来查看内容

4. tail -10 文件名,可以查看最后10行内容, ctrl+c 退出

5.tail  -f  文件名,经常用来查看日志文件

1.5 目录、文件命令

1.进入目录: cd  目录名

2.查看文件: ls 或 ll

3.帮助: --help

4.删除文件:rm 文件名

5.删除目录:rm -rf 路径名

6.复制文件:cp -r 路径名 新路径

7.移动目录到新位置:mv 路径名 新路径

1.6 关闭linux防火墙

查看:systemctl status firewalld.service

关闭:systemctl stop firewalld.service

永久关闭:systemctl disable firewalld.service

二、Linux中安装应用软件

2.1 在Linux上安装JDK

1.首先要卸载Linux服务器上自带的JDK

(1)先查看jdk

rpm -qa | grep java

(2)卸载对应的包含openjdk的文件

rpm -e  --nodeps  文件名

2.安装JDK

(1)先在usr创建java目录

(2)把对应的linux文件传上去,找到对应文件目录

 tar -zxvf jdk-8u301-linux-x64.tar.gz 

比如:  

/usr/java/jdk8/jdk1.8.0_301

/usr/java/jdk/jdk1.8.0_301

/dev/java/jdk1.8.0_301

或:

tar -xvf jdk.tar.gz -C 目标路径

3.配置环境变量

  • vi /etc/profile
  • 在末尾添加

#set java environment/usr/local/jdk1.8.0_301
JAVA_HOME=(jdk 安装目录,可以再jdk安装目录中输入pwd 查看当前全部路径)
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME  PATH
  • 更新资源文件,刷新环境变量

    source /etc/profile
  • 测试

    java  -version 

2.2 在Linux上安装Nginx

1. 安装环境

## 安装gcc环境
yum install gcc-c++
##  安装PCRE
yum install =y pcre pcre-devel
##  安装zlib库
yum install -y zlib zlib-deve
##  安装OpenSSL
yum install -y openssl openssl-devel
## 以上四项可以一次安装
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2. Nginx安装

  • 创建一个文件夹,/usr/local/nginx

cd /usr/local

mkdir nginx

cd nginx

下载tar包,通过rz可以从本地上传,没有wget则yum install -y wget装一下

wget http://nginx.org/download/nginx-1.13.7.tar.gz

  • 解压缩

tar zxvf nginx-1.8.0.tar.gz
  • 进入ngnix目录 使用 configure 命令创建 makeFile 文件

./configure 
--prefix=/usr/local/nginx 
--pid-path=/var/run/nginx/nginx.pid 
--lock-path=/var/lock/nginx.lock 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--with-http_gzip_static_module 
--http-client-body-temp-path=/var/temp/nginx/client 
--http-proxy-temp-path=/var/temp/nginx/proxy 
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
--http-scgi-temp-path=/var/temp/nginx/scgi
  • 编译 make

  • 安装 make install

3. 启动ngnix

  • 在启动之前 要为临时文件创建目录

mkdir /var/temp/nginx/client -p
  • 进入到Nginx目录下的sbin目录

cd /usr/local/nginx/sbin/
  • 输入命令启动Nginx

./nginx  
  • 启动后查看进程

 ps aux|grep nginx 
  • 关闭 nginx:

 ./nginx -s stop 
## 或者
./nginx -s quit
  • 重启 nginx

    1、先关闭后启动

    2、重新引导,刷新配置文件

./nginx  -s  reload 

4. Nginx配置详解

http { 
   include mime.types; 
   default_type application/octet-stream; 
   sendfile on; 
   keepalive_timeout 65;

   upstream myserver{
     server localhost:8080;
     server localhost:8081;
     }
  server {
    listen       80;
    server_name  localhost;

    location / {
        root   html;
        proxy_pass http://myserver;
        proxy_connect_timeout 3s;
        proxy_read_timeout 5s;
        proxy_send_timeout 3s;	
        index  index.html index.htm;
      }

     error_page   500 502 503 504  /50x.html;
       location = /50x.html {
       root   html;
     }
  }

}

5. CentOS中配置hostname与hosts文件

/etc/hostname与/etc/hosts

(1)/etc/hostname

test666.com

(2)/etc/hosts

192.168.1.7 test666.com localhost 后边还有。。。

(3)主要是windows客户端host的配置,上边(1)(2)暂不起作用

C:\Windows\System32\drivers\etc\hosts 添加centos虚拟机ip与转发代理的域名:192.168.1.7 test666.com

6.记得关闭防火墙,实现单机代理

查看:systemctl status firewalld.service

关闭:systemctl stop firewalld.service

永久关闭:systemctl disable firewalld.service

## 单机版正确的在这里
## 要改centOS中的hostname与hosts
server {
        listen       80;
        server_name  test666.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
        #root   html;
        proxy_pass http://192.168.1.7:8080;
        index index.html index.htm;
    }

2.3 Linux中mysql安装与应用

1. Centos下载mysql5.7安装

(1)运行wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar 下载mysql安装包

(2)运行tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar 解压

(3)运行rpm -qa|grep mari,查询mariadb相关安装包

(4)有输入的话,输入运行rpm -e --nodeps mariadb-libs,卸载它。

(5)安装mysql5.7

rpm -ivh  mysql-community-common-5.7.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

(6)如果最后一步安装出现错误提示:依赖检测失败

需要安装: yum -y install perl.x86_64 yum -y install net-tools.x86_64

再执行:rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm就可以了

(7)运行systemctl start mysqld.service,启动mysql

(8)查看mysql是否启动成功

systemctl  status  mysqld.service   #检测mysql是否启动成功 出现如下,则启动成功。

[root@localhost mysql]# systemctl status mysqld.service
 mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2022-10-27 22:44:06 CST; 34s ago

2. 登录mysql5.7

(1) 获取第一次登录mysql的临时密码

[root@localhost mysql]# grep 'temporary password' /var/log/mysqld.log 
​
2022-10-27T14:43:52.787158Z 1 [Note] A temporary password is generated for root@localhost: tp8_eE&,zlaX

(2)以root权限登录mysql mysql -u root -p (以最高权限登录数据库) 这里会提示输入密码,这个密码就是第5步获取的临时密码,复制粘贴 tp8_eE&,zlaX 即可 mysql -u root -p enter password:

(3)设置mysql验证密码的强度set global validate_password_policy=LOW;

mysql>  set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

(4)设置mysql的密码长度为4(默认为8,最小为4)

mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

(5)为mysql设置简单密码123456

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 
Query OK, 0 rows affected (0.00 sec)

 (6)查看mysql的初始密码规则 

mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.09 sec)

3. 通过远程的navicat等工具连接centos中的mysql

下载可视化工具navicat;

用可视化工具填写连接信息,但是此时会报错,是因为我们还需要设置一个东西;

因为mysql默认没有开启远程控制,即只有服务器本身可以访问。 因此,接下来我们设置别的机器远程连接mysql。

(1)从centos上登录mysql

[root@localhost /]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.26 MySQL Community Server (GPL)

(2)查看数据库

mysql> show databases;

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)

(3)打开mysql数据库

mysql> use mysql;

Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed

(4)查看表并查询user表

mysql> select host,user from user;

+-----------+---------------+ | host | user | +-----------+---------------+ | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 3 rows in set (0.00 sec)

(5)将最后的行,即user为root的记录,将字段host的localhost改为% update user set host='%' where user='root';\

mysql> update user set host='%' where user='root';

Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0

(6)再查看一下

mysql> select host,user from user;

+-----------+---------------+ | host | user | +-----------+---------------+ | % | root | | localhost | mysql.session | | localhost | mysql.sys | +-----------+---------------+ 3 rows in set (0.00 sec)

(7)flush privileges; (刷新更改)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

再用navicat来连接就可以了, 此时的主机要填写centos桥接网卡后的ip

主机:192.168.0.167

用户名:root   

密码:123456(或你的密码)

2.4 Linux中安装tomcat

首先要停止或禁用防火墙firewalld服务:

#停止firewalld服务:systemctl stop firewalld

#禁用firewalld服务:systemctl mask firewalld

1. 先安装jdk

一键安装 yum install -y java-1.8.0-openjdk-devel.x86_64 java -version

(1)下载jdk,从oracle官网登录下载  Java Downloads | Oracle 

请使用uname  -m 命令查看计算机的类型,这里直接得到的结果是x86_64 x86-64(又称x64,即英文词64-bit extended,64位拓展 的简写。

说明:一定要下载jdk-8u351-linux-x64.tar.gz这样的版本带compressed

(2)解压  tar -xvzf jdk-8u351-linux-x64.tar.gz

(3)配置jdk

vi /etc/profile

JAVA_HOME=/usr/local/java/jdk1.8.0_351 
CLASSPATH=$JAVA_HOME/lib/ 
PATH=$PATH:$JAVA_HOME/bin 
export PATH JAVA_HOME CLASSPATH

(4)使配置文件生效 source /etc/profile

(5)查看是否安装成功 java  -version

2. 查看安装包

 yum  info  tomcat

3. 安装tomcat

先安装wget命令:yum install wget

(1)centos 中下载

wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.83/bin/apache-tomcat-8.5.83.tar.gz

或  windows到https://mirrors.cnnic.cn/apache/tomcat/地址下载

     linux的apache-tomcat-8.5.83.tar.gz版本,通过finalshell上传到/usr/local/tomcat文件夹中,然后解压

(2)解压到 usr/local/tomcat mkdir /usr/local/tomcat tar -xvzf apache-tomcat-8.5.83.tar.gz

(3)yum方式安装yum -y install tomcat,不好用,暂不建议使用

默认安装路径为:usr/share/tomcat

查看是否安装成功:rpm -q tomcat yum的提示tomcat-7.0xxx #表示安装成功

删除已安装:yum remove tomcat*

显示已安装:yum list installed

搜索已安装:yum search tomcat*

4. 加入环境变量配置 vi  /ect/profile

在 /etc/profile 配置文件中加入tomcat 环境变量 执行vi  /ect/profile,添加如下内容

JAVA_HOME=/usr/local/java/jdk1.8.0_351
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.83
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.83
export JAVA_HOME PATH CLASSPATH CATALINA_BASE CATALINA_HOME

5. 使配置文件生效

source /etc/profile

6. 查看是否生效

echo $CATALINA_BASE echo $CATALINA_HOME

7. 启动 tomcat

/usr/local/tomcat/apache-tomcat-8.5.83 ./startup.sh 要运行一个 tomcat 应用程序,可以将它放在 /usr/share/tomcat/webapps 的目录,配置 tomcat,并重新启动 tomcat 服务。

8. 配置端口,找到配置文件server.xml并修改即可

9. yum安装的方式的启动

systemctl  start  tomcat.service

10. yum方式安装查看是否启动

systemctl status tomcat

说明:如果出现相关的提示,表示启动成功

2.5 Linux中安装Redis

  • 下载链接如下

wget https://repo.huaweicloud.com/redis/redis-7.0.0.tar.gz
​
wget https://repo.huaweicloud.com/redis/redis-6.2.7.tar.gz
  • 下载redis并解压,这里为Redis-6.2.7版本

# 新建目录
mkdi /usr/local/qf
# 下载redis 6.2.7
wget  https://repo.huaweicloud.com/redis/redis-6.2.7.tar.gz
# 解压文件
tar -xzvf redis-6.2.7.tar.gz 
  • 安装编译环境

为了保证编译环境正确性,以下命令复制执行即可。

yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install  make
# 升级gcc编译器
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
  • 执行编译与安装命令

# 进入解压后的redis目录
cd redis-6.2.7

# 执行安装命令
make

# 如果没有错误,则直接执行安装命令即可
make install

# 也可以将上述两个命令合并成一条命令
make && make install
  • 默认启动Redis服务端与客户端

    不指定配置文件启动redis服务,此种情况下,默认启动的配置文件是redis.conf

## 1.在`/usr/local/bin/`下找Redis可执行文件:redis-server与redis-cli

redis-server  #启动服务端

redis-cli   # 启动客户端

## 2.源文件夹下找`usr/local/redis-6.2.7/src/`找可执行文件

redis-server  #启动服务端

redis-cli   # 启动客户端

2.6 CentOS端口与防火墙管理

1. CentOS网络连接

virtual box两种网络连接方式解析

(1)桥接方式,直接同宿主机ip相关,配置时通过外部连接工具连接查询的ip连接即可

(2)网络地址转换NAT方式

通过外部ipconfig查询到vb的ip为:192.168.56.1;

通过查询ip add/ifconfig查询vb中的子网ip为:10.0.2.15;

在VB设置-网络中找到网络地址转换NAT方式,在其下的高级->端口转发设置(连网线);

端口转发规则名称     协议     主机IP              主机端口    子系统ip    子系统端口

Rule1                          TCP      192.168.56.1    2222        10.0.2.15          22

通过Finalshell工具中设置主机为192.168.56.1,端口为2222就可以搞定了!

2. 查看并修改22端口

(1)Centos中上传命令的安装:yum install  lrzsz

(2)查centos的位数:getconf  LONG_BIT 

(3)查看ssh的默认端口号:netstat -anp|grep ssh

(4)Centos网络连接打开:ect/sysconfig/network-scripts

(5)修改 /etc/ssh/sshd_config配置文件

注意:这里是sshd_config,而不是ssh_config

在sshd_config文件中添加一个端口号10011(这里保留22端口,是为了放置假如配置失败的话,还可以使用22端口使用ssh登录,配置完成后,可以删除22端口)

 port  22  port  10011

3. ip管理

(1)ifconfig匹配的是net-tools.x86_64包,安装net-tools.x86_64包

yum install net-tools.x86_64 -y

(2)ip add或ip a,也可以查看ip

4. 防火墙管理

(1)CentOS7默认的防火墙不是iptables,而是firewalle.

(2)安装iptable iptable-service

#先检查是否安装了iptables:   service  iptables  status

#安装iptables: yum install -y iptables

#升级iptables: yum update iptables

#安装iptables-services: yum install iptables-services

(3)禁用/停止自带的firewalld服务

#查看防火墙状态: systemctl status firewalld

#停止firewalld服务: systemctl stop firewalld

#禁用firewalld服务: systemctl mask firewalld

三、LInux常用命令参考

Linux的操作命令比较多,熟练掌握它们有一些难度,在这里列举常用的一些操作命令,大家可以逐一熟悉并掌握它们。

        1. cd命令

这是经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:

cd /root/Temp # 切换到目录/root/Temp

cd ./path          # 切换到当前目录下的path目录中,“.”表示当前目录 

cd ../path         # 切换到上层目录中的path目录中,“..”表示上一层目录

        2. ls命令

这是一个非常有用的查看文件与目录的命令list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:

-l:列出长数据串,包含文件的属性与权限数据等

-a:列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)

-d:仅列出目录本身,而不是列出目录的文件数据

-h:将文件容量以较易读的方式(GB,kB等)列出来

-R:连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

注:这些参数也可以组合使用,下面举两个例子:

ls -l #以长数据串的形式列出当前目录下的数据文件和目录

ls -lR #以长数据串的形式列出当前目录下的所有文件

        3. grep命令

该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,它的简单语法为

grep [-acinv] [--color=auto] '查找字符串' filename

常用参数如下:

-a:将binary文件以text文件的方式查找数据

-c:计算找到‘查找字符串’的次数

-i:忽略大小写的区别,即把大小写视为相同

-v:反向选择,即显示出没有‘查找字符串’内容的那一行

# 例如:

# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色

grep --color=auto 'MANPATH' /etc/man.config

# 把ls -l的输出中包含字母file(不区分大小写)的内容输出

ls -l | grep -i file

        4. find命令

find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多,所以在这里将给把它们分类列出,它的基本语法如下:

find [PATH] [option] [action]

# 与时间有关的参数:

-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;

-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;

-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;

-newer file : 列出比file还要新的文件名

# 例如:

find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件

# 与用户或用户组名有关的参数:

-user name : 列出文件所有者为name的文件

-group name : 列出文件所属用户组为name的文件

-uid n : 列出文件所有者为用户ID为n的文件

-gid n : 列出文件所属用户组为用户组ID为n的文件

# 例如:

find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件

# 与文件权限及名称有关的参数:

-name filename:找出文件名为filename的文件

-size [+-]SIZE:找出比SIZE还要大(+)或小(-)的文件

-tpye TYPE:查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f),设备文件(b,c),目录(d),连接文件(l),socket(s),FIFO管道文件(p);

-perm mode:查找文件权限刚好等于mode的文件,mode用数字表示,如0755;

-perm -mode:查找文件权限必须要全部包括mode权限的文件,mode用数字表示

-perm +mode:查找文件权限包含任一mode的权限的文件,mode用数字表示

# 例如:

find / -name passwd # 查找文件名为passwd的文件

find . -perm 0755 # 查找当前目录中文件权限的0755的文件

find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte

        5. cp命令

该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下,它的常用参数如下: 

-a:将文件的特性一起复制

-p:连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份

-i:若目标文件已经存在时,在覆盖时会先询问操作的进行

-r:递归持续复制,用于目录的复制行为

-u:目标文件与源文件有差异时才会复制

例如:

cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2

cp file1 file2 file3 dir #把文件file1,file2,file3复制到目录dir中

        6. mv命令

该命令用于移动文件.目录或更名,move之意,它的常用参数如下:

-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i:若目标文件已经存在,就会询问是否覆盖

-u:若目标文件已经存在,且比目标文件新,才会更新

注:该命令可以把一个文件或多个文件一次移动一个文件夹中,但是最后一个目标文件一定要是“目录”。

例如:

mv file1 file2 file3 dir # 把文件file1,file2,file3移动到目录dir中

mv file1 file2 # 把文件file1重命名为file2

        7. rm命令

该命令用于删除文件或目录,remove之间,它的常用参数如下:

-f:就是force的意思,忽略不存在的文件,不会出现警告消息

-i:互动模式,在删除前会询问用户是否操作

-r:递归删除,最常用于目录删除,它是一个非常危险的参数

例如:

rm -i file # 删除文件file,在删除之前会询问是否进行该操作

rm -fr dir # 强制删除目录dir中的所有文件

        8. ps命令

该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:

-A:所有的进程均显示出来

-a:不与terminal有关的所有进程

-u:有效用户的相关进程

-x:一般与a参数一起使用,可列出较完整的信息

-l:较长,较详细地将PID的信息列出

其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:

ps aux # 查看系统所有的进程数据

ps ax # 查看不与terminal有关的所有进程

ps -lA # 查看系统所有的进程数据

ps axjf # 查看连同一部分进程树状态

        9. kill命令

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:

kill -signal PID

signal的常用参数如下:

        1:SIGHUP,启动被终止的进程

        2:SIGINT,相当于输入ctrl+c,中断一个程序的进行

        9:SIGKILL,强制中断一个进程的进行

        15:SIGTERM,以正常的结束进程方式来终止进程

        17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行

 例如:

 #以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程

  kill -SIGTERM %1

#重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得

  kill -SIGHUP PID

  说明:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。

        10. killall命令

该命令用于向一个命令启动的进程发送一个信号,它的一般语法如下:

killall [-iIe] [command name]

它的参数如下:

-i:交互式的意思,若需要删除时,会询问用户

-e:表示后面接的command name要一致,但command name不能超过15个字符

-I:命令名称忽略大小写

# 例如:

killall -SIGHUP syslogd # 重新启动syslogd

        11. file命令

该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:

file filename

#例如:

file ./test

        12. tar命令

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:

-c:新建打包文件

-t:查看打包文件的内容含有哪些文件名

-x:解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中

-j:通过bzip2的支持进行压缩/解压缩

-z:通过gzip的支持进行压缩/解压缩

-v:在压缩/解压缩过程中,将正在处理的文件名显示出来

-f filename:filename为要处理的文件

-C dir:指定压缩/解压缩的目录dir

上面的解说可以已经让你晕过去了,但是通常我们只需要记住下面三条命令即可:

压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称

查询:tar -jtv -f filename.tar.bz2

解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

注:文件名并不定要以后缀tar.bz2结尾,这里主要是为了说明使用的压缩程序为bzip2

        13. cat命令

该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。例如:

cat text | less # 查看text文件中的内容

# 注:这条命令也可以使用less text来代替

        14. chgrp命令

该命令用于改变文件所属用户组,它的使用非常简单,它的基本用法如下:

chgrp [-R] dirname/filename

-R:进行递归的持续对所有文件和子目录更改

# 例如:

chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users

        15. chown命令

该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同,不再详述。

        16. chmod命令

该命令用于改变文件的权限,一般的用法如下:

chmod [-R] xyz 文件或目录

-R:进行递归的持续更改,即连同子目录下的所有文件都会更改

同时,chmod还可以使用u(user).g(group).o(other).a(all)和+(加入).-(删除).=(设置)跟rwx搭配来对文件的权限进行更改。

# 例如:

chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x

chmod g+w file # 向file的文件权限中加入用户组可写权限

        17. vim命令

该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。vim是一个非常好用的文本编辑器,它里面有很多非常好用的命令,在这里不再多说。你可以从这里下载vim常用操作的详细说明。

        18. gcc命令

对于一个用Linux开发C程序的人来说,这个命令就非常重要了,它用于把C语言的源程序文件,编译成可执行程序,由于g++的很多参数跟它非常相似,所以这里只介绍gcc的参数,它的常用参数如下:

-o:output之意,用于指定生成一个可执行文件的文件名

-c:用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序

-I:增加编译时搜索头文件的路径

-L:增加编译时搜索静态连接库的路径

-S:把源文件生成汇编代码文件

-lm:表示标准库的目录中名为libm.a的函数库

-lpthread:连接NPTL实现的线程库

-std=:用于指定把使用的C语言的版本

# 例如:

# 把源文件test.c按照c99标准编译成可执行程序test

gcc -o test test.c -lm -std=c99

#把源文件test.c转换为相应的汇编程序源文件test.s

gcc -S test. c

        19. time命令

该命令用于测算一个命令(即程序)的执行时间。它的使用非常简单,就像平时输入命令一样,不过在命令的前面加入一个time即可,例如:

time ./process

time ps aux

在程序或命令运行结束后,在最后输出了三个时间,它们分别是:

user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;

real实际时间:从command命令行开始执行到运行终止的消逝时间。

更多精彩内容请关注本站!!! 

  • 20
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值