Linux目录
bin 存放二进制可执行文件(ls,cat,mkdir等)
boot 存放用于系统引导时使用的文件
dev 用于存放设备文件
etc 存放系统配置文件##############################
home 存放存放所有用户文件的根目录########
lib 存放跟文件系统中跟程序运行所需要的共享库和内核模块
mnt 系统管理员安装临时文件的安装点
opt 额外安装可选应用程序包所放置的位置
proc 虚拟文件系统存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,#######################################比较重要的目录/usr/local本地管理员软件安装目录########################
var 用于存放运行时所需要改变数据的文件
home 为用户的目录
etc 配置文件目录
usr/local 我们自己安装的程序 必须放置在该目录下
var 存放数据的目录 (分配空间最大)
在Linux中一 . 开头的文件都是隐藏文件
Linux命令 操作文件目录的命令
命令 | 说明 | 语法 | 参数 | 参数说明 |
---|---|---|---|---|
ls | 显示文件和目录列表 | ls[-alrtAFR][name…] | -l | 列出文件的详细信息 |
-a | 列出当前目录所有文件,包含隐藏文件 | |||
mkdir | 创建目录 | mkdir[-p] dirName | -p | 父目录 |
cd | 切换目录 | cd[dirName] | 如果不带参数 默认回到当前用户的主目录 | |
touch | 生成一个空文件 | |||
echo | 生成一个带内容的文件 | echo abcd > 1.txt | 表示建立文件并填写内容 | |
echo 1234 >> 1.txt | 追加内容 | |||
cat | 显示文本文件内容 | cat[-abeEnstTuv][-help][-version] fileName | ||
cp | 复制文件或目录 | cp[options] source dest | ||
rm | 删除文件 | rm[options] name… | -f | 强制删除文件或目录 |
-r | 同时删除该目录下的所有文件(递归删除,windows默认删除为递归删除) | |||
mv | 移动文件或目录 | mv[options] source dest | ||
find | 在文件系统查找制定的文件 | find -name “fileName” | ||
grep | 在指定的文本文件中查找制定的字符串 | grep 搜索的字符串 fileName | 搜索的字符串区分大小写 | |
tree | 用于树状图列出目录的内容 | |||
pwd | 显示当前的工作目录 | |||
ln | 建软连接 | ln 目标(原来的文件) 软连接的位置 | 例如:ln test/hello/hello.txt myHello.txt myHello.txt是test/hello/hello.txt的软连接 | |
more | 分页显示文本文件内容 | more fileName | ||
head | 显示文件开头的内容 | |||
tail | 显示文件结尾的内容 | tail[-f] fileName | 加上 -f 跟踪输出 不加-f输出结尾内容 |
控制台快捷键的使用
Ctrl+c是终止命令
Ctrl+insert是复制
shift+insert是粘贴
系统管理命令
命令 | 说明 |
---|---|
stat | 显示制定文件的相关信息,比ls命令显示内容更多 stat fileName |
who | 显示在线登录用户 |
hostname | 显示主机名称 |
uname | 显示系统信息 |
top | 显示当前系统中耗费资源最多的进程 |
ps | 显示瞬间的进程状态 |
du | 显示指定的文件(目录)已使用的磁盘空间的总量 |
df | 显示文件系统磁盘空间的使用状况 |
free | 显示当前内存和交换空间的使用情况 |
ifconfig | 显示网络借口信息 |
ping | 测试网络连通性 |
netstat | 显示网络状态信息 |
clear | 清屏 |
kill | 杀死一个进程 |
交换空间
内存 1GB 超过 内存溢出 阻塞 崩溃 宕机
磁盘 1GB swap 交换空间 一旦使用 系统性能 大幅下降
#云服务器 没有交换空间############
开关机操作
一定使用超级管理员的权限
命令 | 参数 | 参数说明 |
---|---|---|
reboot | 重启 | |
shutdown | -h now | 立即关机 |
-t second | 设定在几秒钟之后进行程序关机 | |
-k | 并不会真的关机,只是警告讯息传送给所有只用这 | |
-r | 重启 | |
-h | 关机后停机 | |
-n | 不采用程序来关机,采用强迫的方式杀掉所有执行中的程序后自行关机 | |
-c | 取消目前已经进行中的关机动作 | |
-f | 关机是,不做fcsk动作(检查Linux档系统) | |
-F | 关机时,强迫进行fsck动作 | |
time | 设定关机时间 | |
message | 传递给所有使用者的警告讯息 |
压缩命令
常用tar包
命令 | 说明 | 参数 | 参数说明 |
---|---|---|---|
tar | tar[-cxzjvf]压缩打包文档的名称欲打包目录 | -c | 建立一个归档文件的参数命令 创建压缩包 |
-x | 解开一个归档文件的参数指令 解压缩包 | ||
-z | 是否需要用gzip压缩 | ||
-j | 是否需要用bzip压缩 | ||
-v | 压缩的过程中显示文件 | ||
-f | 使用档名,在f之后要立即接档名 | ||
-tf | 查看归档文件里面的文件 |
例如:
压缩命令: tar -czvf test.tar.gz 用gzip方式压缩
tar -cjvf test.tar.bz2 用bzip方式压缩
解压命令: tar -xzvf test.tar.gz 用gzip方式解压缩
tar -xzvf test.tar.bz2 用bzip方式解压缩
Linux编辑器
vim编辑器
命令:
vi fileName 编辑该文件
vim编辑器三种模式
编辑模式:等待编辑命令输入
插入模式:编辑模式下,输入i进入插入模式,插入文本信息 esc退出进入编辑模式
命令模式:在编辑模式下,输入:进入命令模式
命令模式:
:q 直接退出vi
:wq 保存后退出vi,并可以新建文件
:q! 强制退出
:w file 将当前内容驳岸成某个文件
:set number 在编辑文件显示行号
:set nonumber 在编辑文件不显示行号
Linux软件包管理
apt 软件包管理程序 Ubuntu下软件包管理通过apt这个程序管理的
centos yum 软件包管理程序
apt(Advanced Packaging Tool) 是Debian、Ubuntu类Linux系统软件包管理程序,使用他可以找到想要的软件包
而且安装卸载更新都很方便,也可以用来对Ubuntu进行升级;APT源文件为/etc/apt/目录下的sources.list文件
sudo 获得超级管理员临时权限
软件在哪里下载?
镜像,当我们下载的时候会发现有一个地址:http://cn.archive.ubuntu.com/ubuntu
修改地址过程:
1.看本机的版本输入命令:lsb_release -a
2.结果如下:
1.No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
版本看Codename: xenial
修改数据源
命令:vi /etc/apt/sources.list
将下面的内容粘贴到此文件中:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
更新数据源命令:sudo apt-get update
命令 | 说明 | 例子 |
---|---|---|
apt-get install packagename | 安装软件 | apt-get install nano |
apt-get remove packagename | 卸载软件 | apt-get remove nano |
apt-get update | 更新软件包列表 | |
apt-cache search package | 搜索 | apt-cache search nano |
apt-cache show package | 获取包信息 | apt-cache show nano |
apt-get remove package --purge | 删除包及配置文件 | apt-get remove nano --purge |
apt-cache depends package | 了解使用依赖 | |
apt-cache rdepends package | 查看被哪些包依赖 | |
apt-get build-dep package | 安装相关的编译环境 | |
apt-get source package | 下载源代码 | |
apt-get clean $$ apt-get autoclean | 清理无用的包 | |
apt-get check | 检查是否有损坏的依赖 | |
apt-get autoremove package | 该软件下载的所有依赖全部被删除 | apt-get autoremove nano |
权限和用户
权限赋予组上
在实际生产操作中,我们基本都是使用超级管理员账号操作Linux系统root账户,Linux系统默认关闭root账号的,我们需要为root设置一个初始化密码方便我们使用
设置root账户密码
sudo passwd root
切换到超级管理员
su
设置允许远程登录root账户
nano /etc/ssh/sshd_config
找到下面的内容
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password //注释加此行
PermitRootLogin yes //加入此行
StrictModes yes
重启服务 ssh
service ssh restart
Linux文件权限管理
输入ll查看当前目录文件
每行前面会有10个字符代表文件的权限
例如:-rw-------
10位分为四段
第一段:第1位 表示文件类型
-:表示文件
d:目录
第二段:2~4位 组权限
第三段:5~7位 用户权限
第四段:8~10位 其他用户的权限
r:读
w:写
x:可执行的权限
要执行shell脚本,shell.sh
在当前目录执行shell : ./shell.sh
最好打全路径 /root/shell.sh
改变权限
chmod:改变访问权限
chmod[who][+|-|=][权限(r/w/x)] 文件名
who表示操作对象可以使以下字母的一个或者组合
u:用户user
g:用户组group
o:表示其他用户
a:表示所有用户是系统默认的
chown:改变所有者/组
chown 组:用户 文件[夹]
例如:chown mryao:mryao test/ 表示:test文件夹的所有者mryao组的mryao的
数字设定法
数字设定发中数字表示权限的含义
0表示没有任何权限
1表示有可执行权限 = r
2表示有可写权限 = w
4表示有可读权限 = r
例如:chmod 755 fileName
7:表示该组有可读,读写,可执行的权限 4+2+1=7
5:表示该用户有可读,可执行的权限 4+1=5
5:表示其他用户有可读,可执行的权限 4+1=5
接下来我们就安装举几个例子
安装java
本地现在下载好jdk.tar.gz包
同xshell上传jdk,传到root/soft文件夹
解压缩
在usr/local/java
解压的文件移动到usr/local/java
配置环境变量
配置系统环境变量 vi /etc/enbironment
export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=/usr/local/java/jdk1.8/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
用户环境变量 vi /etc/profile
把下面的内容复制到中间
export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=/usr/local/java/jdk1.8/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
使用户环境变量生效
source /etc/profile
测试是否安装成功
随意目录下输入 java -version
为其他用户更新用户环境变量
su mryao
source /etc/profile
安装mysql
apt-get install mysql-server
安装过程中有一个路径为 /etc/mysql/my.cnf 配置文件
查看数据存放位置 在目录中查看软连接 my.cnf 继续查找数据存放位置
最后在配置文件中找到datadir = /var/lib/mysql 存放的目录为/var/lib/mysql
配置远程访问:vi /etc/mysql/mysql.conf.d/mysqld.cnf
修改:bind-address = 0.0.0.0
所有人都允许访问 或者把这行注释掉
重启mysql服务 service mysql restart
连接mysql mysql -u root -p
授权工作grant all privileges on *.* to 'root'@'%' identified by '你的mysql root 账户密码'
远程连接 -> 测试连接 -> 连接成功