一、linux系统各目录的作用
- bin的作用
存放二进制可执行文件(ls、cat、mkdir) - boot的作用
存放用于系统引导时使用的各种文件 - dev的作用
用于存放设备文件 - etc的作用
存放系统的配置文件 - home的作用
存放所有用户文件的根目录 - lib的作用
存放跟文件系统中的程序运行所需要的共享库及内核模块 - mnt的作用
系统管理员安装临时文件系统的安装点 - opt的作用
额外安装的可选额外用程序包所放置的位置 - proc的作用
虚拟文件系统,存放当前内存的映射 - root的作用
超级用户目录 - sbin的作用
存放二进制可执行文件,只有root才能访问 - tmp的作用
用于存放各种临时文件 - usr的作用
用于存放系统应用程序,比较重要的目录 - var的作用
用于存放运行时需要改变数据的文件
二、重要的目录(可以修改的目录)
- home
个人的根目录 - etc
配置文件目录 - usr/loacl
我们自己安装的程序,必须放置在该目录 - var
存放数据库的目录
三、linux的常用命令
- ls:显示文件和目录结构(ls[-alrtAFR][name...])
1.-l 列出文件的详细信息
2.-a 列出当前目录所有文件,包含隐藏文件 - mkdir:创建目录(mkdir[-[] dirName) 1.-p父目录不存在的情况下先生成父目录
- cd:切换目录(cd[dirName])
- touch:生成一个空文件
- echo:生成一个带内容文件(echo abcd>1.txt,echo 1234 >> 1.txt)
- cat:显示文件内容(cat[-AbcEnstTuv][-help][-verson]fileName)
- cp:复制文件或目录(cp[option]source dest)
- rm:删除文件(rm[options]name...)
1.-f强制删除文件或目录
2.同时删除该目录下的所有文件 - mv:移动文件或目录(mv[options]source dest)
- find:在文件系统中查找指定的文件
- grep:在指定的文本文件中查找指定的字符串
- tree:用于以树状图列出目录的内容
- pwd:显示当前工作目录
- ln:建立软连接
- more:分页显示文本文件内容
- head:显示文件开头内容
- tail:显示文件结尾内容
1.-f追踪输出
四、系统管理命令
- stat:显示指定文件的相关信息,比ls命令显示内容更多
- who:显示在线登陆用户
- hostname:显示主机名称
- uname:显示系统信息
- top:显示当前系统中耗费资源最多的进程
- ps:显示瞬间的进程状态
- du:显示指定的文件(目录)已使用的磁盘空间的总量
- df:显示文件系统磁盘空间的使用情况
- free:显示当前内存和交换空间的使用情况
- ifconfig:显示网络接口信息
- ping:测试网络的连通性
- netstat:显示网路状态信息
- clear:清屏
- kill:杀死一个进程
五、开关机命令
- shutdown(shutdown[-t seconds][-rkhncfF]time[message])
- -t seconds设定在几秒钟之后进行关机程序
- -k并不会真的关机,只是将警告讯息传送给所有使用者
- -r关机后重新开机(重启)
- -h关机后停机
- -n不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自动关机
- -c取消目前已经进行中的关机动作
- -f关机时,不做fcsk动作(检查Linux档系统)
- -F关机时,强迫进行fsck动作
- time设定关机的时间
- message传送给所有使用者的警告信息
重启
- reboot
- shutdown -r now
关机
- shutdown -h now
六、压缩和解压缩命令
-
tar(tar[-cxzjvf]压缩打包文档的名称与打包目录)
- -c建立一个归档文件的参数指令
- -x解开一个归档文件的参数指令
- -z是否需要用gzip压缩
- -j是否需要用bzip2压缩
- -v压缩的过程中显示文件
- -f使用档名,在f之后要立即接档名
- -tf查看归档文件里面的文件
例子:
- 压缩文件夹: tar -zcvf test.tar.gz test\
- 解压文件夹: tar -zxvf test.tar.gz
-
gzip(gzip[选项]压缩[解压缩]的文件名)
- -d解压缩
- -l对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
- -v对每一个压缩和解压的文件,显示文件名和压缩比
- -用指定的数字num调整压缩的速度,-1或-fast表示最快压缩方法(低压缩num比),-9或-best表示最慢压缩方法(高压缩比)。系统缺省值为6
说明:
压缩文件后缀为gz
-
bzip2(bzip2[-cdz])
- -d解压缩
- -z压缩参数
- -用指定的数字num调整压缩的速度,-1或-fast表示最快压缩方法(低压缩num比),-9或-best表示最慢压缩方法(高压缩比)。系统缺省值为6
说明
压缩文件后缀为bz2
七、vim
运行模式
- 编辑模式:等待编辑命令输入
- 插入模式:编辑模式下,输入i进入插入模式,插入文本信息
- 命令模式:在编辑模式下,输入:进行命令模式
命令
- :q直接退出vi
- :wq保存后退出vi,并可以新建文件
- :q!强制退出
- :w file将当前内容保存成某个文件
- :set number在编辑文件显示行号
- :set nonumber 在编辑文件不显示行号
八、nano
nano是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单的多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。
命令
- 保存:ctrl + o
- 搜索:ctrl + w
- 上一页:ctrl + y
- 下一页:ctrl + v
- 退出:ctrl + x
九、软件包管理程序
- apt ubuntu下载的软件包管理程序
-
常用Apt命令
<!--1.安装软件包--> apt-get install packagename <!--2.删除软件包--> apt-get remove packagename <!--3.更新软件包列表--> apt-get update <!--4.升级有可用更新的系统(慎用)--> apt-get upgrade -
其它APT命令
<!--1.搜索--> apt-cache search package <!--2.获取包信息--> apt-cache show package <!--3.删除包及配置文件--> apt-get remove package --purge <!--4.了解使用依赖--> apt-cache depends package <!--5.查看被那些包依赖--> apt-cache rdepends package <!-6.安装相关的编译环境--> apt-get build-dep package <!--7.下载源代码--> apt-get source package <!--8.清理无用的包--> apt-get clean && apt-get autoclean <!--9.检查是否有损坏的依赖--> apt-get check
-
- yum centos下载的软件包管理程序
修改数据源(强Ubuntu的数据源修改为国内的数据源)
查看系统版本
lsb_release -a
编辑数据源
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
更新数据源
apt-get update
十、Linux用户和组管理
使用Root用户
- 设置Root用户密码
sudo passwd root - 设置允许远程登录Root
nano /etc/ssh/sshd_config # Authentication: LoginGraceTime 120 # PermitRootLogin without-password //注释此行 PermitRootLogin yes StrictModes yes 重启服务 service ssh restart
十一、文件权限管理
查看文件和目录的权限
- ls -al 使用ls不带参数只显示文件名称,通过ls -al可以显示文件或者目录的权限信息。
- ls -l 文件名显示信息包括:文件类型(d目录,-普通文件,l链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称
- -rw-r--r-- 1 lusifer lusifer 675 Oct 26 17:20 .profile
- -rw-r--r--:文档类型及权限
* -:普通文件(文档类型) * rw-:说明用户lusifer有读写权限,没有运行权限(文档所有者权限) * r--:表示用户组lusifer只有读权限,没有写和运行的权限(文档所属用户组权限) * r--:其它用户只有读权限,没有写权限和运行的权限(其他用户权限)- 1:连接数
- lusifer(第一个):文档所属用户
- lusifer(第二个):文档所属组
- 675:文档大小
- Oct 26 17:20:文档最后被修改日期
- -profile:文档名称
文档类型
- d表示目录
- l表示软连接
- -表示文件
- c表示串行端口字符设备文件
- b表示可供存储的块设备文件
- 余下的字符3个字符为一组。r只读,w科协,x可执行,-表示无此权限
连接数
指有多少个文件指向同一个索引节点。
更改操作权限
-
chown
是change owner的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组。- chown [-R] 用户名称 文件或者目录
- chown [-R] 用户名称 用户组名称 文件或者目录
-R:进行地柜是的权限更改,将目录下的所有文件,子目录更新为指定用户组权限。
-
chmod 改变访问权限
- chmod [who] [+ | - | =] [mode] 文件名
who
表示操作对象可以是一下字母的一个或者组合
- u:用户user
- g:用户组group
- o:表示其它用户
- a:表示所有用户是系统默认的
操作符号
- +:表示添加某个权限
- -:表示取消某个权限
- =:赋予给定的权限,取消文档以前的所有权限
mode
表示可执行的权限,可以是r、w、x
文件名
文件名可以是空格分开的文件列表
数字设定法
- 0表示没有任何权限
- 1表示有可执行权限 = x
- 2表示有可写权限 = w
- 4表示有可读权限 = r
十二、Linux安装Java
解压缩并移动到指定目录
- 解压缩
tar -zxvf jdk-8u152-linux-x64.tar.gz
- 创建目录
mkdir -p /usr/local/java
- 移动安装包
mv jdk1.8.0_152/ /usr/local/java/
- 设置所有者
chown -R root:root /usr/local/java/
配置环境变量
- 配置系统环境变量
nano /etc/environment
- 添加如下语句
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME=/usr/local/java/jdk1.8.0_251
export JRE_HOME=/usr/local/java/jdk1.8.0_251/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
- 配置用户环境变量
nano /etx/profile
- 添加如下语句
if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
export JAVA_HOME=/usr/local/java/jre1.8.0_231
export JRE_HOME=/usr/local/java/jdk1.8.0_231/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVE_HOME/jre/bin:$PATH:$HOME/bin
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
- 使用户环境变量生效
source /etc/profile
- 为其他用户更新用户环境变量
su lusifer
source /etc/profile
十三、Linux安装mysql-server
更新数据源
apt-get update
安装MySQL
系统将提示您在安装过程中创建root密码。选择一个安全的密码,并确保你记住它,因为你以后需要它。接下来,我们将完成MySQL的配置。
apt-get install mysql-server
配置
运行安全脚本
mysql_secure_installation
配置远程访问
- 修改配置文件
nano /etc/mysql/mysql.conf.d/mysqld.cnf
- 注释掉(语句前面加上#即可)
bind-address = 127.0.0.1
- 重启MySQL
service mysql restart
- 登陆MySQL
mysql -u root -p
- 授权root用户允许所有人连接
grant all privileges on *.* to 'root'@'%' identified by '你的 mysql root 账户密码';