内容导读
- 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命令行开始执行到运行终止的消逝时间。
更多精彩内容请关注本站!!!