linux学习

linux的文件目录:

  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot:
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc:
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib
    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root
    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /selinux
     这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv
     该目录存放一些服务启动之后需要提取的数据。

  • /sys

    这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

    sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp
    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr
     usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

  • /usr/bin:
    系统用户使用的应用程序。

  • /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:
    内核源代码默认的放置目录。

  • /var
    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

值得提出的是 /bin/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。

/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

linux命令:

1、帮助命令

man/help

2、开关机同步

sync将内存中数据同步到硬盘中

poweroff关闭系统等于shutdown -h now

reboot 重启系统 等同于shutdown -r now

shutdown 时间,等待多少分钟后关机

3、服务开启关闭

systemctl enable 服务器名 打开自启动

systemctl disable 服务器名 关闭自启

systemctl is-enabled 服务器名 查看服务是否自启

systemctl list-unit-files 查看所有服务自启配置

3.1防火墙

查看防火墙:systemctl disable firewalld

关闭防火墙自启:systemctl disable firewalld

开启防火墙自启:systemctl enable firewalld

查看防火墙是否自启动:systemctl is-enabled firewalld

3.2关闭网络管理服务

查看服务:systemctl status networkManager.service

停止服务:systemctl stop networkManager.service

4、cd命令

cd 绝对路径 cd /etc/sysconfig/network-scripts

cd 相对路径 cd network-scripts(要在当前路径下才行)

cd 回到home目录

cd .回答上一次使用的目录

cd ..回到上一级目录

cd-P 跳转到实际物理路径

pwd打印当前目录

5、创建目录/删除目录

mkdir 当前文件夹/文件夹名称  或mkdir 文件夹名称

mkdir -p  递归创建目录

rmdir  删除空目录

6、创建文件

touch 1.txt 创建空文件

7、复制命令

cp  文件名 路径  复制文件到指定路径下

cp 文件夹/* 

8、删除

rm  文件名

rm -r递归删除

rm -f 强制删除不提示用户进行确认

rm-v显示指令详细执行过程

9、移动

mv 文件名 路径

10、重命名

mv 文件名 新的文件名

11、查看文件内容

cat 文件名(cat 1.txt)

head -行数 文件 查看文件的第几行(查看开头)

tail -行数 文件 查看末尾一般用来查看日志文件

tail -f 文件 实时监控文件内容(添加新内容会打印出来)

cat -n 文件名 加上行号(回车才是换行表示加了一行没按回车显示屏幕可能有多行但是实际上只有一行)

12、编辑文件

vim编辑器(有三个编辑模式:a进入编辑模式;:进入命令模式)

vim 文件名

:wq 退出

操作:

翻页:空格翻页,回车下一行

ctrl+b下一页,ctrl+f上一页

13、打印信息

echo hello world  打印hello world

14、覆盖追加

>覆盖      >>追加

15、链接

ln 源文件或目录 路径 

ln  -s 绝对路径 存放路径 (软连接)(约等于windows快捷方式)

16、查看历史命令

history 

用户管理命令

增加用户

useradd 用户名

passwd 用户名:进入修改密码

sudo设置普通用户具有root权限

设置文件权限命令

chmod 

-r 对当前目录及其子目录进行递归更改

-c 只有文件权限确实更改时才显示更改动作

-f 如果权限无法更改,不显示错误信息

-v 显示权限变更详细信息

搜索查找

find 文件夹/ -name “需要查找的文件名” 按照名称递归查找

-user 按照拥有者查找

-size +204800 查找大于200m的文件

-name ‘’| grep ip查找带ip的

-name ‘’| grep -n ip查找带ip的带上行数

过滤查找

管道符:"|"表示将前一个命令处理结果传递到后面的命令进行处理

grep 选项 查找内容 源文件  

-n显示匹配及行号

压缩和解压命令

gzip 文件 压缩文件,之将文件压缩为*.gz文件,不保留源文件

gunzip 文件.gz 解压缩文件

zip 选项 xxx.zip 压缩文件和目录

unzip 选项 xxx.zip 解压缩文件

-r压缩目录

-n指定解压缩后的文件目录

打包

tar 选项 xxx.tar.gz 打包目录,压缩后的文件格式.tar.gz

-z 打包同时压缩

-c 产生.tar打包文件

-v 显示详细信息

-f 指定压缩后的文件名

-x 解包.tar文件

查看当前虚拟机名称

hostname

etc下面的hostname可以修改名称

磁盘分区

df 选项 列出问价系统整体磁盘使用量

df -h 易于阅读的版本

fdisk -l 查看所有磁盘分区情况

进程线程命令

ps 只显示前台的进程

ps -ef 显示进程

ps -aux | grep xxx 查看系统中所有进程

ps -ef 查看子父进程之间的关系

kill 终止进程

kill -9 强制终止

定时任务

启动定时任务服务

systemctl restart croud

java开发运用

RPM:软件包管理工具 离线安装

rpm -qa 查看所安装的rpm安装包

rpm -e 卸载软件包

rpm -e nodeps 卸载时不检查依赖

rpm -ivh rpm 包全名

yum 在线安装

yum list 显示软件包信息

jdk安装

1、查询系统中自带的jdk

rpm -qa | grep jdk

2、卸载系统自带jdk

rpm -e --nodeps jdk的rpm软件包名字

也可以采用值传递的方式 rpm -qa | grep jdk | xargs rpm -e --nodeps

3、将jdk.tar.gz上传到/opt目录下

4、解压

tar -zxvf jdk名称

5、在/etc/profile.d目录下创建my_env.sh文件

cd  /etc/profile.d

touch my_env.sh

6、在my_env.sh文件中配置JAVA_HOME环境变量

#JAVA_HOME

JAVA_HOME=/opt/java/jdk1.8.0_411

PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA_HOME

7、执行source/etc/profile.d/my_env.sh使环境变量立即生效,如果没生效重启shell

若出现这个错误则代表版本兼容问题64位的linux安装了32位的java所以需要安装32位兼容库

sudo yum install glibc.i686

下载完成后再次查看

mysql安装

1、查看安装的mysql,

rpm -qa | grep mysql

2、若已经安装进行卸载

rpm -e xxx

3、下载压缩包MySQL :: Download MySQL Community Server (Archived Versions)

4、上传到服务器

5、解压

tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

6、修改解压后的名称

mv mysql-8.0.31-linux-glibc2.12-x86_64 /usr/local/mysql

7、创建存放数据的目录

mkdir -p /data/mysql

8、创建用户和用户组,并且将用户添加到用户组

groupadd mysql 创建用户组

useradd -g mysql mysql 创建用户mysql(mysql)并将用户添加到用户组(mysql)中

9、给用户赋予权限

chown mysql:mysql /data/mysql

10、修改mysql配置文件,没有则新建

vim /etc/my.cnf 

内容:

[mysqld]

bind-address=0.0.0.0

port=3306

user=mysql

basedir=/usr/local/mysql

datadir=/data/mysql

socket=/tmp/mysql.sock

log-error=/data/mysql/mysql.err

pid-file=/data/mysql/mysql.pid

#character config

character_set_server=utf8mb4

symbolic-links=0

explicit_defaults_for_timestamp=true

11、安装并初始化mysql

进入bin目录

cd /usr/local/mysql/bin

执行下面的命令

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

12、查看密码

cat /data/mysql/mysql.err

mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

13、启动mysql服务

service mysql start

14、修改密码

登录mysql

./mysql -u root -p 输入密码登录

登录成功,使用sql命令修改root账号密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

flush privileges;刷新权限

退出mysql;exit

重启服务 service mysql restart

重新登录判断是否修改成功

15、开启远程访问

在MySQL的安装目录下bin目录使用如下命令

登录./mysql -u root -p

查看数据库:show databases;

切换到mysql

use mysql;

开启远程访问

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

flush privileges;刷新权限

退出mysql;exit

16、检查安装路径和环境是否正确

vi /etc/profile

最后一行添加export PATH=$PATH:/usr/local/mysql/bin

重新加载配置文件

source /etc/profile

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值