Linux CentOS 知识和常用命令

时间:2022-12-10 07:56:08

1、常用热键

【Tab】它具有“命令补全”与“文件补全”的功能
【Ctrl+C】中断执行中的程序组合键
【Ctrl+d】键盘输入结束。也可以用来替代 exit

 

2、Linux 常用编辑器 vi 和 vim

vi 编辑器(vim 大同小异)

(1)一般模式 【可以 删除,复制,粘贴】

(2)编辑模式【可以 删除,复制,粘贴,无法编辑内容,按下i l o O a A r R任何一个健才会进入编辑模式,要回到一般模式按Esc】

 

3、Linux 目录配置

1、根目录(/)

根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不但性能较好,根目录所在的文件系统也比较不容易发生问题

2、执行文件目录(/bin)

系统有很多放置执行文件的目录,但 /bin 比较特殊。因为 /bin 放置的是在单用户维护模式下还能被操作的命令。在 /bin 下面的命令可以被 root 与一般账号所使用,主要有 cat,chmod,chown,date,mv,mkdir,cp,bash 等常用的命令。

3、开机文件目录(/boot):
这个目录主要放置开机会使用到的文件,包括 Linux 内核文件以及开机菜单与开机所需配置文件等。

4、驱动设备目录(/dev)
在 Linux 系统上,任何设备与接口设备都是以文件的形式存在于这个目录当中的。你只要通过访问这个目录下面的某个文件,就等于访问某个设备。比较重要的文件有 /dev/null,/dev/zero,/dev/tty 等。

5、配置文件目录(/etc)
系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的各个文件属性是可以让一般用户查阅的,但只有 root 有权利修改。比较重要的文件有 /etc/init.d,/etc/inittab,/etc/sysconfig 等。

6、用户主文件夹(/home)
这是系统默认的用户主文件夹(home directory)。在你创建一个一般用户账号时,默认的用户主文件夹都会规范到这里来。~ 代表当前用户的主文件夹。

7、系统函数库(/lib)
系统的函数库非常多,而 /lib 放置的则是在开机时会用到的函数库,以及在 /bin 或 /sbin 下面的命令会调用的函数库而已。
* 你可以把函数库想象成是“外挂”,某些命令必须要有这些“外挂”才能够顺利完成程序的执行之意。

8、第三方软件安装目录(/opt)
这个目录是用于安装第三方应用程序的,可以由用户自己指定安装位置。当需要卸载第三方应用程序时,可以直接删除安装目录,而不影响系统其它任何设置。

9、管理员主文件夹(/root)
系统管理员(root)的主文件夹。之所以放在这里,是因为如果进入单用户维护模式而仅挂载根目录时,该目录就能够拥有root的主文件夹,所以我们会希望root的主文件夹与根目录放置在同一个分区中。

10、服务数据存放目录(/srv)
srv 可以视为“service”的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录。常见的服务例如 WWW、FTP 等。举例来说,WWW 服务需要的网页数据就可以放置在 /srv/www/ 里。

11、虚拟文件系统目录(/proc)
这个目录本身是一个虚拟文件系统(virtual filesystem)。它放置的数据都是在内存当中,例如系统内核、进程、外部设备以及网络状态等。因为这个目录下的数据都是在内存当中的,所以本身并不占任何硬盘空间。

12、虚拟文件系统目录(/sys)
这个目录其实跟 /proc 非常类似,也是一个虚拟的文件系统,主要也是记录与内核相关的信息。包括目前已加载的内核模块与内核检测到的硬件设备信息等。这个目录同样不占硬盘容量。

13、系统软件资源目录(/usr)
很多小白都会误以为 /usr 是 user 的缩写,其实 usr 是 Unix Software Resource 的缩写,也就是 “UNIX 操作系统软件资源” 所放置的目录,而不是用户的数据,这点需要注意。

 

5、sudo 指令

执行root 的指令。且需要用户输入自己的秘密,因此多人共同管理一部主机时,至少root密码不会留出去!

 

6、软件安装( RPM, SRPM 与 YUM 功能)

distribution 代表 软件管理机制  使用指令 在线升级机制(指令) 
Red Hat/Fedora  RPM  rpm, rpmbuild YUM (yum)
Debian/Ubuntu DPKG dpkg APT (apt-get)

 

        rpm 安装

 rpm -ivh package_name

rpm -ivh rp-pppoe-3.5-32.1.i386.rpm 安装一个
rpm -ivh a.i386.rpm b.i386.rpm 安装多个(用空格分开)
rpm -ivh http://xxxx/pkgname.rpm 安装网路上的(常用)

rpm -e --nodeps 要卸载的软件包

选项不参数: 
-i :install 的意思 
-v :察看更绅部的安装信息画面 
-h :以安装信息列显示安装迚度

 

yum 安装

yum list xxx* 查询软件
yum install  安装的软件
yum update 接要升级的软件,若要整个系统都升级,就直接 update 即可 
yum remove xxx 移除软件

 

7、常用命令

(1)目录及路径

.      代表此层目录
..     代表上一层目录
-     代表前一个工作目录
~    代表“目前用户身份”所在的主文件夹

cd: 切换目录
pwd: 显示当前目录
mkdir: 新建一个新的目录
rmdir:删除一个空的目录,ps:只能是空目录

 

mkdir -p test1/test2/test3 直接递归创建所需路径
mkdir -m 711 test 创建文件夹权限
rmdir -p test1/test2/test3 可以直接删除

 

(2)复制

cp /var/log/wtmp wtmp2 #将wtmp 复制 重名名wtmp2(PS:复制的权限,创建时间会改变)
cp -a /var/log/wtmp wtmp2 #将wtmp 复制 重名名wtmp2(PS:完全复制,权限,创建时间一致)
cp -i /var/log/wtmp wtmp2 --如果当前地址存在此文件会询问是否覆盖
cp -p /var/log/wtmp wtmp2 --连同文件属性一起复制过去,而非使用默认属性
cp -r /test/ /test2 --递归持续复制,用于目录复制行为
cp -r elasticsearch-6.5.4/* /home/elasticsearch6.5.4

 

(3)移动/剪切

mv bashrc mvtest 将某个文件bashrc 移动到某个目录中
mv mvtest mvtest2 重命名

 

(4)关机命令

shutdown -h now   # 立刻关机
shutdown -h 0   #立刻关机
shutdown -h 20:15 #系统将在今天指定时间关机
shutdown -r now #立即重启
shutdown -r +10 '要重启服务器了'   #再过10分钟系统重启,显示后面的信息给所有在线用户
shutdown -k now '服务器警告信息' # 仅仅发出警告信息参数,系统不会关机

 

(5)文件权限

chgrp   #改变文件所属用户组
chown  #改变文件所有者
chmod #改变文件的权限

r  : 4   #读取权限(对应的数字权限)
w : 2   #写的权限
x  : 1   #执行权限

rwx=4+2+1=7
-777  #最大权限

 

(6)查找 

find  /  -name  *.sh

 

(7)下载(wget)

yum install wget #安装
# 下载指定地址
wget https://nginx.org/download/nginx-1.16.0.tar.gz

# -c 断点续传
wget -c https://nginx.org/download/nginx-1.16.0.tar.gz

#批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 CentOS wget 就会自动为你下载所有文件了
wget -i filename.txt

 

 (8)解压

tar -xvzf  pip-10.0.1.tar.gz
#把war包复制到ROOT文件下面,解压缩:jar -xvf xxxx.war

 

 (9)查看端口号占用

lsof -i:端口号

 

(10)查看端口号占用

1、ps 命令用于查看当前正在运行的进程,grep 是搜索
例如: ps -ef | grep java,表示查看所有进程里 CMD 是 java 的进程信息
2、ps -aux | grep java,-aux 显示所有状态
3. kill 命令用于终止进程,-9 表示强迫进程立即停止,例如: kill -9 [PID]

 

(11)防火墙(CentOS firewalld)

 1.firewalld的基本使用

#启动:
systemctl start firewalld

#关闭: 
systemctl stop firewalld

#查看状态:
systemctl status firewalld 

#开机禁用:
systemctl disable firewalld

开机启用: 
systemctl enable firewalld

2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

#启动一个服务:
systemctl start firewalld.service

#关闭一个服务:
systemctl stop firewalld.service

#重启一个服务:
systemctl restart firewalld.service

#显示一个服务的状态:
systemctl status firewalld.service

#在开机时启用一个服务:
systemctl enable firewalld.service

#在开机时禁用一个服务:
systemctl disable firewalld.service

#查看服务是否开机启动:
systemctl is-enabled firewalld.service

#查看已启动的服务列表:
systemctl list-unit-files|grep enabled

#查看启动失败的服务列表:
systemctl --failed

 

3.配置firewalld-cmd

#查看版本: 
firewall-cmd --version

#查看帮助: 
firewall-cmd --help

#显示状态: 
firewall-cmd --state

#查看所有打开的端口: 
firewall-cmd --zone=public --list-ports

#更新防火墙规则: 
firewall-cmd --reload

#查看区域信息: 
firewall-cmd --get-active-zones

#查看指定接口所属区域: 
firewall-cmd --get-zone-of-interface=eth0

#拒绝所有包:
firewall-cmd --panic-on

#取消拒绝状态: 
firewall-cmd --panic-off

#查看是否拒绝: 
firewall-cmd --query-panic

4.配置firewalld 端口

#添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

#重新载入
firewall-cmd --reload

#查看
firewall-cmd --zone=public --query-port=80/tcp

#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent