linux常用命令 + CentOS配置笔记

一、Linux目录

../ 表示当前目录
. .. ./ 表示当前的上一级目录,即父目录
. 开始的目录或文件名,如 .bashrc,表示为隐藏目录或文件

在这里插入图片描述

1、查看目录结构:

cd/
ll

etc (etcetera) 是配置目录:为软件安装后配置文件选择放入的地址
usr (unix shared resources) :用于存放共享的系统资源
usr/local :软件安装目录
opt :安装应用程序目录,部署的API程序一般放这。
/home/用户名 :部署的API放入用户的目录

二、用户管理

1、查看用户信息:

cat /etc/passwd  #按Tab自动补齐
  • root:用户名
  • x :密码 :已经加密 ,密码存放在 vi /etc/shadow 密码文件 // 密码均已加密
  • 0: 账号id ,userId
  • 0: 组id ,group id

2、创建/删除用户

useradd 选项 用户名    #创建

选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,若此目录不存在,则同时使用 -m ,可创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,若同时有 -o 选项,则可重复使用其他用户的标识号。

userdel 选项 用户名   #删除
#表示将用户的主目录一起删除

如:

userdel -r lina02

3、用户口令(即密码)管理

su 用户名1  # 切换到用户名1
passwd 选项 用户名1  #普通用户只能改自己的
#若默认用户名,则修改当前用户的口令。

选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令
注意:改密码不能太简单,不能含用户名,要是想弄以前改过的,就要删除密码历史记录 etc/security/opasswd

企业里,一般是给一个已设好权限的普通账号,以上用户管理的一般用不到

三、常用命令

1、目录管理

在这里插入图片描述
(1)查看目录
ls :查看当前路径下的文件名称
ls -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
ls -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
ls -l :长数据串列出,包含文件的属性与权限等数据;(常用)
ll: 等价于ls -l
ls -al :目录下的所有文件列出来(含属性与隐藏档)

(2)切换目录
cd [相对路径或绝对路径]

cd ~  # 回到自己的家目录,即 /root 
cd ..  # 回到目前的上一级目录,即 /root 的上一级目录

(3)显示当前目录

pwd  #Print Working Directory

(4)创建目录

mkdir [-mp] 目录名称
	  -m #直接配置文件权限,无需看默认权限脸色 
	  -p #直接递归创建所需目录(包含上一级目录)
mkdir --help  #查看帮助 

示例:/tmp底下尝试创建数个新目录:

cd /tmp
mkdir kkb  # 创建一名为 kkb 的新目录
mkdir test1/test2/test3/test4 #无法直接创建此目录
#mkdir: cannot create directory`test1/test2/test3/test4': No such file or directory
mkdir -p test1/test2/test3/test4  
#加了 -p,可自行为我们创建多层目录

(5)删除目录

rmdir [-p] 目录名称
      -p :连同上一级『空的』目录也一起删除

2、文件操作

(1)查看文件内容

cat 文件名  #查看所有内容
more 文件名  #一页一页的显示文件内容

如:

more /etc/man_db.config
#....(中间省略).... 
#--More--(28%)  <== 重点在此行,光标在此等待命令 

more 程序运行时,有这样几个可按的按键:

  • 空格键 (space):代表向下翻一页
  • Enter:代表向下翻 一行
  • :f #立刻显示出档名以及目前显示的行数;
  • q #代表立刻离开 more ,不再显示该文件内容。
less 文件名   #一页一页翻动

如:

less /etc/man.config
#....(中间省略).... 
#:   <== 重点在此行,光标在此等待命令 

less运行时可以输入的命令有:

  • 空白键 :向下翻动一页;
  • [pagedown] :向下翻动一页;
  • [pageup] :向上翻动一页;
  • q 表示离开 less 这个程序

(2)创建文件

touch 文件名  #创建一个空白的普通文件
touch  a.txt

(3)写入内容

echo   #把内容重定向到指定的文件中,有则打开,无则创建
echo '内容'>文件名称   #覆盖模式 
echo '内容'>>文件名称  #追加模式,在下一行追加

(4)复制文件

cp [选项] [来源档] [目标档]
cp --help  #查看帮助文档
-a :归档模式命令,会保留源文件或目录的所有属性(权限、所有者和时间戳等)。同时会递归复制整个目录结构,包括子目录和文件,所以使用时要指定源文件或目录及目标路径
-d :若来源为连结档属性(link file),则复制连结档属性而非文件本身; 
-f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次; 
-i :若clear问动作的进行(常用) 
-l :进行硬式连结(hard link)的连结档创建,而非复制文件本身; 
-p :连同文件的属性一起复制过去,而非使用默认属性(备份常用)-r :递归持续复制,用于复制目录;(常用) 
-s :复制成为符号连结档 (symbolic link),即『捷径』文件;
-u :若 目标档 比 来源档 旧,才升级 目标档

(5)移动文件

mv  [选项] [来源档] [目标档]
-f :若目标文件已经存在,不会询问而直接覆盖; 
-i :若目标文件已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 来源档 比较新,才会升级

如:

#复制一文件,创建一目录,将文件移动到目录中 
cd /tmp 
cp ~/.bashrc bashrc 
mkdir mvtest 
mv aaa mvtest 
#将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2

(6)删除文件

rm [选项] 文件或目录 
-f :忽略不存在的文件,不会出现警告信息; 
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除!最常用在目录的删除!是非常危险的选项!

3、打包拆包

常用压缩方式:
用 tar 将许多文件打包成一个文件,再以 gzip压缩命令压缩成紧 xxx.tar.gz(或者xxx.tgz)的文件。

#打包 -cvf
tar [选项] xxx.tar 要打包的文件或目录的列表,用空格隔开
#打包并压缩 -zcvf
tar [选项] xxx.tar.gz
#解压 -xvf
tar [选项] xx.tar  
#解压到特定文件夹  -zxvf  注意-C大写,防止拆包解压的路径找不到
tar [选项] xx.tar.gz -C /usr/kkb

常用参数:

  • -c :创建一个新tar文件
  • -v :显示运行过程的信息
  • -f :指定文件名
  • -z :调用gzip 压缩命令进行压缩
  • -t :查看压缩文件的内容
  • -x :解开tar 文件

4、查看进程快照

ps : - axu    #显示当前进程的快照
ps - axu | grep java   #查看Java进程
ps - axu | grep mysql  #查看MySQL进程

5、管道

作用:将一个命令的输出作为另一个命令的输入,组合使用

ls --help | more #分页查看帮助信息,按q退出

四、重要命令 —— VIM编辑器

vim 文件名,就直接进入 vim 的一般模式了,一般模式之中,按下 i 进入输入模式(也称为编辑模式)。
vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)

1、命令模式

刚启动vi/vim,就进入了命令模式。此时键入,就会被识别为命令,而非字符。
常用命令如下:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令
  • u 撤销上一次操作
  • a 插入模式,在光标下一个位置开始输入文本
  • o 在当前行的下方插入一个新行,并进入插入模式
  • O 在当前行的下方插入一个新行,并进入插入模式
  • dd 删除当前行
  • yy 复制当前行
  • p 粘贴剪贴板内容到光标下方(后方)
  • P 粘贴剪贴板内容到光标上方(前方)
  • G 移动到这个文档的最后一行
  • g 移动到这个文档的第一行

2、输入模式

在命令模式下按下 i 就进入了输入模式。

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

3、底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式,可以输入单个或多个字符的命令。按ESC键可随时退出底线命令模式。

  • :q 退出程序
  • :w 保存文件
  • :w! 若文件属性为『只读』时,强制写入该档案。但到底能否写入, 与你对该档案的档案权限。
  • :q! 为强制离开不储存档案
  • :wq 储存后离开,若为 :wq! 则为强制储存后离开
  • :set number 显示行号
  • :set nonumber 取消显示行号

五、文件权限

最前面一列是文件权限;黑的一列是userid ;红的一列是组id
在这里插入图片描述

1、权限介绍

在这里插入图片描述

权限共有10个字符:

ll 列出所有文件,可以看到,最前面的一列就是用户对这些文件的权限

  • 第一个字符表示文件类型,有下面几类

– 表示是一个文件
d 表示是一个目录
l 表示是一个连接(理解为快捷方式)

  • 第 2 到 4 个字符,即往后数3个字符,表示当前用户对该文件的权限。(owner,属主,缩写u)
  • 第 5 到 7 个字符,即往后数3个字符,表示当前组内其他用户具有的对该文件的权限。(group ,属组,缩写g)
  • 第 8 到 10 个字符,即往后数3个字符,表示其他组的用户具有的对该文件的权限。(other 其他,缩写o)
  • 有下面几种字符类别

r: Read 读
w:Write 写
x:eXecute 执行

对于文件和目录来说,r,w,x有着不同的作用和含义:
针对文件:

r:读取文件内容
w:修改文件内容
x:执行权限对除二进制程序以外的文件没什么意义

针对目录:

目录本质上可看做是存放文件列表、节点号等内容的文件
r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

PS:root账户不受文件权限的读写限制,执行权限受限制。
用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

2、修改文件权限

chmod 主要作用:修改文件和文件夹读写执行属性。 使用权限:所有使用者
chown 主要作用:修改文件和文件夹的用户和用户组属性。改userid或组id 。使用权限:root

(1)mode方式

chmod who opt per file 

who:u g o a(all)

  • u :用户user ;
  • g:用户组group;
  • o其他用户;
  • a所有用户默认

opt:+ - =

  • +” 是添加某个权限
  • 取消某个权限
  • = 赋予权限

per:r w x X

示例:

#使用权限:root
chown v1 a.txt   
#把a.txt的 userid 改成了 v1 这个用户的id
chown v1:v a.txt 
#把a.txt的 userid 改成 v1,同时组id改成v
chmod u=rwx,g=r a.txt 
chmod u+x,g+w,o+w test.log   //r 读   w 写   x 执行 
# -rw-r--r--  a.txt
chmod g=rw a.txt #将其用户组权限设置为可读写 -rw-rw-r--
chmod o+w a.txt #将其其他组权限增加一个写权限 -rw-r--rw-

(2)数字方式

chmod XXX file
#rwx rw- r-- 
#421 420 400   
#111 110 100  #2进制(计算机仅能识别这个,便于理解,这里可以不看)
#7   6   4      #4+2+1=7  4+2+0=6  4+0+0=4
# 0表示无权限
# 1表示可执行,相当于 x
# 2表示写入权限,相当于 w
# 4表示可读权限,相当于 r

如:-rwxr–r-- yhp.log

用户权限 = rwx = 4+2+1 = 7
所属组权限 = r-- = 4+0+0 = 4
其他用户权限 = r-- = 4+0+0 =4
组合:744

修改权限:都加入写入权限w —— +2

给用户组加入写入权限:+2 ; // 4+2 = 6
给其他用户加入可执行权限:+1;// 4+1 = 5

chmod 765 yhp.log  # 这样就改成了-rwxrw-rw-

六、常用网络操作

1、改主机名hostname

想要永久生效,需要 vim修改 /etc/sysconfig/network 文件

hostname  #可显示主机名
hostname abc #临时的把主机名改成abc

2、查询系统完整信息

uname -a  #显示完整的系统信息

3、IP操作

  • 查看IP地址:ip addr
  • 修改IP地址:
    cd /etc/sysconfig/network-scripts/
    ls 修改列出的第一个文件,文件名与网卡对应,如下图。
    vim这个文件 vim ifcfg-ens33(Tab键自动补齐文件名)
    在这里插入图片描述
    打开后类似下图,
    在这里插入图片描述

改动步骤如下(用的人家的图,图在后面),注意往里输数时,别用数字键盘
1 BOOTPROTO="static" 改成静态IP
2 加上IPADDR=本虚拟机地址,这个地址怎么找,看图后面的 tips
3 加上子网NETMASK=子网号看图后面的 tips
4 加上默认网关,GATEWAY= 虚拟网络编辑器 VMnet8 NAT设置中的网关
5 加上DNS,这个可以写多个。这里就照着图写,DNS1=114.114.114.114
6 改完后,按Esc,键入:wq保存退出
7 重启网络服务:service network restart,(如果用的远程工具,记得改一下IP再重连)
8 再ip addr看一下,这时,网卡那应该显示改后的ip

DNS是将域名转为IP地址的系统
114.114.114.114是全国三网通用高速DNS。可以在电脑上ping一下,ping 114.114.114.114,要是ping不通,说明dns没有覆盖那里,(其他DNS可以看一下大佬—会飞的土拨鼠呀,他写的这篇博客 虚拟机配置可用的DNS服务器)。
这里再补充几个
119.29.29.29 或 182.254.116.116 或 119.28.28.28(这个是腾讯的)
180.184.1.1 或 180.184.2.2(这个是字节跳动)
180.76.76.76(百度的)

在这里插入图片描述

tips

win + R —> cmd —> ipconfig,找 VMnet8 下面的这个ipv4(用 A 代替),同时注意其子网掩码(就是文件里后面要填的子网号),这个A就是要填的默认网关。

在这里插入图片描述
centos7里,ip addr,找网卡(就是之前改的文件里对应的 NAME=“xxxx”)所对应的ipv4 ,(用 B 代替)
可以发现 A、B 在同一网段内
在改文件时,要添上 IPADDR=xxx.xxx.xxx.xxx (本虚拟机地址,用 C 代替),这个C 就是把 B 的点分十进制IP的最后那个数,再加上任意数(一般+1,+2,+3的都行),给他改得稍大点就行(当然,不能超过255),改完的这个C,就是当前这个虚拟机的ip地址,一般称本机地址。

4、域名映射

vim /etc/hosts
添加 IP地址 和 主机名

5、网络服务管理

查看网络服务状态:systemctl status network
启动网络服务:systemctl start network
停止网络服务:systemctl stop network
重启网络服务:systemctl restart network
设置开机启动:systemctl enable network

6、防火墙设置

查看防火墙状态: systemctl status firewalld
启动防火墙: systemctl start firewalld
关闭防火墙: systemctl stop firewalld
查询防火墙服务是否开机启动:systemctl is-enabled firewalld
开机时启用防火墙服务:systemctl enable firewalld
开机时禁用防火墙服务:systemctl disable firewalld
查询已经启动的服务列表:systemctl list-unit-files|grep enabled
查询启动失败的服务列表:systemctl --failed

七、Linux上部署Web项目

1、安装JDK

(1)上传jdk安装包并解压

可使用远程工具上传jdk安装包到根目录下自己建的mysoft文件夹下的jdk文件夹,这些名字随意,也可以装到别的地方,都是自己定就可以

解压命令tar --zxvf jdk-xxxx-linux-x64.tar.gz -C /mysoft

可以测一下java版本,确认是否解压成功 到解压好的jdk文件中,cd 进 bin文件夹,输入命令 ./java -version
若显示相应的jdk版本,即测试成功

(2)卸载OpenJDK以及相关的Java文件

  • 查看JDK信息,输入命令:java -version
  • 检测JDK安装包,输入命令:rpm -qa | grep java ,我这里没检测到有相关的安装包

删除Java相关文件(/usr/lib/jvm是默认openjdk安装路径)

  • 进入安装目录。输入命令:cd /usr/lib/jvm
  • 删除Java相关文件,输入命令:rm -rf /usr/lib/jvm

(3)修改配置文件/etc/profile,配置环境变量

  • 编辑profile文件vim /etc/profile
  • 在文件最下方添加JAVA_HOME变量
#java environment
export JAVA_HOME=/mysoft/jdk/jdkxxxx
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
  • 使环境变量及时生效,输入命令:source /etc/profile
  • 查看变量是否更新成功,输入命令:echo $PATH,出来相应jdk文件的一串目录…xxxx/bin,就可以了
  • 在任意目录下测试环境是否配置成功,输入命令: java -version

我装了 2版 jdk,解压到不同目录,通过 alternatives 管理 JDK 版本
(1)创建JDK目录的软链接,并交由alternatives管理

update-alternatives --install /usr/bin/java java /mysoft/jdk/jdk8u401/ 8 
update-alternatives --install /usr/bin/java java /mysoft/jdk/jdk11/ 11

(2)配置 Java 环境变量

  • vim /etc/profile,按 i 进入编辑模式 追加如下内容后,按 Esc ,键入 :wq,按回车
 export JAVA_HOME=/usr/bin/java  #这是所创软连接目录 
 export PATH=$JAVA_HOME/bin:$PATH 
 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
  • 输入source /etc/profile,使配置文件生效
  • 输入命令:java -version,查看JDK版本
  • 输入命令:update-alternatives --config java,按数字切换JDK版本

2、安装tomcat

在这之前,要保证JDK安装成功!
(1)上传Tomcat压缩包到指定文件夹(自己定,便于管理就行)
(2)到压缩包所在文件夹下解压文件

tar -xzvf apache-tomcat-10.1.20.tar.gz

(3)cd 到 apache-tomcat-10.1.20/bin
(4)启动tomcat

sh startup.sh

(5)关防火墙后测试访问

systemctl stop firewalld
systemctl status firewalld

(6)在电脑浏览器网址栏中键入 虚拟机 ip 地址:8080,出来Apache Tomcat的官方页面就成功了
(7)关闭Tomcat

sh shutdown.sh

3、装MySQL

(1)检测系统是否自带安装mysql

yum list installed | grep mysql  
#后面没东西就是没装

在这里插入图片描述

(2) 删除系统自带的mysql及其依赖(防止后面安装发生冲突)

yum -y remove mysql-libs.x86_64

(3)给CentOS添加rpm源,并且选择较新的源,RPM软件包管理器缩写

wget --no-check-certificate dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

(4)安装上一步下载的rpm文件

yum install mysql-community-release-el6-5.noarch.rpm #此处需要输入"y"

(5)列出所有的yum repo文件

yum repolist enabled | grep mysql

(6)使用yum安装mysql

yum install mysql-community-server
#此处输入3次“y”

(7)启动mysql服务

service mysqld start

(8)查看mysql是否自启动,并且设置开启自启动

chkconfig --list | grep mysqld
#0 1 2 3 4 5 6 代表centOS启动状态

chkconfig mysqld on

(9)修改字符集为UTF-8

vim /etc/my.cnf

在[mysqld]部分添加: character-set-server=utf8
在文件末尾新增[client]段,并在[client]段添加: default-character-set=utf8 esc退出编辑
:wq保存退出

修改完成后保存重启服务

service mysqld restart

(10)修改默认配置

mysql_secure_installation
#按照提示进行配置,这里默认root用户的密码空,直接回车即可。此处输入内容:"y","y","n","y","y"

(11)授权远程登录
将权限改为ALL PRIVILEGES
[root@centos01 ~]# mysql -uroot -p
mysql> use mysql;
Database changed
mysql> flush privileges; //mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问
mysql> select host,user,password from user; 这样机器就可以以用户名root密码root远程访问该机器上的MySql.

若远程连接出问题:
看看防火墙是否关闭;
是否是授权问题:
GRANT ALL PRIVILEGES ON . TO ‘username’@‘%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
flush privileges;

  • 27
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俺要工作俺想工作

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值