目录html
学习连接:尚硅谷韩顺平Linux教程前端
Linux世界里,一切皆文件。java
总结:node
三种常见模式:python
正常模式mysql
在正常模式下,咱们可使用快捷键。linux
插入模式/编辑模式c++
在这个模式下,程序猿能够输入内容。git
命令行模式github
在这个模式中,能够提供相关指令。
快捷键使用练习:
用户,组,家目录。
指定运行级别(7个级别)
系统的运行级别配置文件:/etc/inittab
切换到指定运行级别的指令:init [012356]
面试题:如何找回丢失的root密码?:进入到单用户模式,而后修改root密码。由于进入单用户模式,root不须要密码就能够登陆。【开机->在引导时输入 回车键->看到一个界面输入 e->看到一个新的界面,选中第二行(编辑内核),再输入 e->在这行最后输入 1,再输入 回车键->再输入b,这时就会进入到单用户模式,使用passed来修改root密码。】
帮助指令:
文件目录类
pwd:Print Working Directory,显示当前工做目录的绝对路径。
ls:-a:显示当前目录全部的文件和目录,包括隐藏的;-l:以列表的方式显示信息。
cd:cd ~:回到本身的家目录;cd ..:回到当前目录的上一级目录。
mkdir:建立目录;-p:建立多级目录。
rmdir:删除空目录。rmdir不能删除非空的目录。若是须要删除非空的目录,须要使用rm -rf。
touch:建立空文件。能够一次性建立多个文件
cp:拷贝文件到指定目录;-r:递归复制整个文件夹。强制覆盖不提示的方法:cp命令改成\cp
rm:移除文件或目录;-r:递归删除整个文件夹;-f:强制删除不提示。
mv:移动文件与目录或重命名,两种功能!
cat:查看文件内容。只能浏览文件,而不能修改文件。-n:显示行号。结尾加上 | more:分页显示,不会所有一下显示完。
more:是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more还内置了不少快捷键:
操做 | 功能说明 |
---|---|
空白键(Space) | 向下翻一页 |
Enter | 向下翻一行 |
q | 马上离开more,再也不显示该文件内容 |
Ctrl + F | 向下滚动一屏 |
Ctrl + B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less:用来分屏查看文件内容,与more类似,可是更强大,支持各类显示终端。less指令在显示文件内容时,并非一次将整个文件加载以后才显示,而是根据显示须要加载内容。对于显示大型文件具备较高的效率。
>
指令:输出重定向。若是不存在会建立文件,不然会将原来的文件内容覆盖。
>>
指令:追加。若是不存在会建立文件,不然不会覆盖原来的文件内容,而是追加到文件的尾部。
cat是查看,echo是写入,echo (内容) >> 文件
cal:显示当前月日历。
echo:输出内容到控制台。
head:显示文件的开头部分。-n 5:看前面5行内容。
tail:输出文件中尾部的内容。-n 5:看后面5行内容。-f:时事追踪该文档的全部更新
时间日期类
搜索查找类
cat hello.txt | grep yes
压缩和解压类
文件:
文件/目录全部者:
组的建立
文件/目录所在组
其余组
改变用户所在组
权限的基本介绍
文件类型:
ls -l 显示内容说明:
rwx权限详解
修改权限 chmod
经过数字变动权限
修改文件全部者 chown
修改文件所在组 chgrp
crond任务调度:crontab进行定时任务调度
项目 | 含义 | 范围 |
---|---|---|
第一个“*” | 一小时当中的第几分钟 | 0-59 |
第二个“*” | 一天当中的第几小时 | 0-23 |
第三个“*” | 一个月当中的第几天 | 1-31 |
第四个“*” | 一年当中的第几月 | 1-12 |
第五个“*” | 一周当中的星期几 | 0-7(0和7都表明星期日) |
特殊符号说明
*
:表明任什么时候间。好比第一个*
就表明一小时中每分钟都执行一次的意思。,
:表明不连续的时间。好比“0 8,12,16 * * *命令”,就表明在天天的8点0分,12点0分,16点0分都执行一次命令。-
:表明连续的时间范围。好比“0 5 * * 1-6命令”,表明在周一到周六的凌晨5点0分执行命令。/n
:表明每隔多久执行一次。好比“/10 * * * 命令”,表明每隔10分钟就执行一遍命令。分区的方式
Linux分区
硬盘说明
挂载的经典案例
磁盘状况查询:df -h / df -l
查询指定目录的磁盘占用状况:du -h /目录,默认为当前目录
磁盘状况-工做实用指令
ls -l /home | grep "^-" | wc -l
ls -l /home | grep "^d" | wc -l
ls -lR /home | grep "^-" | wc -l
ls -lR /home | grep "^d" | wc -l
查看是否有mysql:rpm -qa | grep mysql
删除旧mysql:rpm -e –nopdeps mysql(强制删除)
安装环境:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
解压mysql:tar -zxvf mysql-5.6.14.tar.gz
进入mysql目录
编译安装:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENHINE=1
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
编译并安装:make && make install
配置mysql,设置权限
查看是否有mysql用户和组:cat /etc/passwd,cat /etc/group
添加mysql组:groupadd mysql
添加mysql用户并放在mysql组中:useradd -g mysql mysql
修改/usr/local/mysql权限:chown -R mysql:mysql /usr/local/mysql/
初始化mysql:
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
--user=mysql
若是报错:Can't locate Data/Dumper.pm
,则运行:yum install 'perl(Data::Dumper)'
,参考连接:https://www.cnblogs.com/yanghongfei/p/7118072.html
删除以前mysql的配置文件:mv /etc/my.cnf /etc/my.cnf.bak
启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
[注意在 /usr/local/mysql 下执行]
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start
执行下面的命令修改root密码
cd /usr/local/mysql/bin
./mysql -u root -p
set password = password('root');(quit退出mysql)
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便裕兴程序的界面系统级程序,用户能够用Shell来启动、挂起、中止甚至是编写一些程序。
Shell脚本的执行方式:
shell的变量
shell变量的介绍
$HOME
、$PWD
、$SHELL
、$USER
等等shell变量的定义
基本语法
定义变量:变量=值,=两边不能有空格
撤销变量:unset 变量
声明静态变量:readonly 变量,注意:不能unset
定义变量的规则
将命令的返回值赋给变量
ls -la
这里有反引号(ESC下面),运行里面的命令,并把结果返回给变量A设置环境变量
基本语法
export 变量名=变量值:将shell变量输出为环境变量
source 配置文件:让修改后的配置文件信息当即生效
echo $变量名:查询环境变量的值
多行注释:
:<<!
须要注释的内容
!
位置参数变量
$n
:n为数字,$0
表明命令自己,$1-$9
表明第一到第九个参数,10以上的参数须要用大括号包含,如${10}
$*
:这个变量表明命令行中全部的参数,$*
把全部的参数当作一个总体$@
:这个变量也表明命令行中全部的参数,不过$@
把每一个参数区分对待$#
:这个变量表明命令行中全部参数的个数预约义变量
$$
:当前进程的进程号(PID)$!
:后台运行的最后一个进程的进程号(PID)$?
:最后一次执行的命令的返回状态。若是这个变量的值为0,证实上一个命令正确执行;若是这个变量的值为非0(具体是哪一个数,由命令本身来决定),则证实上一个命令执行不正确。运算符
$
((运算式))”或“$
[运算时]”\*
/ %,乘,除,取余条件判断
流程控制if语句
if判断基本语法:
if [ 条件判断式 ];then
程序
fi
或者:
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
fi
流程控制case语句
case语句基本语法:
case $变量名 in
“值1”)
若是变量的值等于值1,则执行程序1
;;
“值2”)
若是变量的值等于值2,则执行程序2
;;
…省略其余分支…
*)
若是变量的值都不是以上的值,则执行此程序
;;
esac
流程控制for循环
for循环基本语法1:
for 变量 in 值1 值2 值3…
do
程序
done
for循环基本语法2
for ((初始值;循环控制条件;变量变化))
do
程序
done
流程控制while循环
while循环基本语法1:
while [ 条件判断式 ]
do
程序
done
read读取控制台的输入
函数
系统函数
自定义函数
基本语法:
function funname()
{
Action;
[return int;]
}
调用直接写函数名:funname(不用写括号),而后在后面写参数
需求分析
若是报错:mysqldump: command not found
解决方案:
crontab -e
10 2 * * * /usr/sbin/mysql_backup_db.sh
设置Ubuntu支持中文
su root显示认证失败:是由于咱们尚未对root用户设置密码
给root用户设密码:sudo passwd
若是ubuntu没有vim:apt install vim
apt软件管理和远程登陆
apt:Advanced Packaging Tool,是一款安装包管理工具。在Ubuntu下,咱们可使用apt命令进行软件包的安装、删除、清理等。
经常使用命令:
sudo apt-get update
更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package
获取包的相关信息,如说明、大小、版本等
sudo apt-get install package --reinstall
从新安装包
sudo apt-get -f install
修复安装
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package
下载该包的源代码
更新Ubuntu软件下载地址
Windows使用SSH远程登陆Ubuntu
Linux使用SSH远程登陆Ubuntu
个人CSDN:https://blog.csdn.net/qq_21579045
个人博客园:https://www.cnblogs.com/lyjun/
个人Github:https://github.com/TinyHandsome
纸上得来终觉浅,绝知此事要躬行~
欢迎你们过来OB~
by 李英俊小朋友