欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux CentOS 知识和常用命令

程序员文章站 2022-08-02 11:42:22
1、常用热键 【Tab】它具有“命令补全”与“文件补全”的功能【Ctrl+C】中断执行中的程序组合键【Ctrl+d】键盘输入结束。也可以用来替代 exit 2、Linux 常用编辑器 vi 和 vim vi 编辑器(vim 大同小异) (1)一般模式 【可以 删除,复制,粘贴】 (2)编辑模式【可以 ......

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