Linux基础入门教程html
---------前端
Linux学习者,经常不知道本身改怎么学习linux:
Linux初级,也就是入门linux
前提是须要有一些计算机硬件相关的知识或是有一下计算机操做系统相关的理论知识
linux系统的安装
linux经常使用的命令的使用
linux用户和文件的管理操做
linux中一下经常使用软件的安装
linux中基础网络的配置管理
shell简单脚本的编写mysql
Linux中级:
linux中服务相关的配置和搭建linux
linux高级:
linux程序开发
---------------------
参考的网址:
https://www.jb51.net/os/85895.html
---------------
ll 命令列出的文件的信息的7列信息的分析
文件类型及文件的rwx
硬连接数
文件的全部者
文件的所属组
文件的大小
文件的建立或修改的时间
文件的名称
----------------------------
软连接是建立了文件的快捷方式,
硬连接是copy了一份文件,硬连接文件的大小和
--------------
rwx:r可读权限:能够查看文件的内容,能够列出目录文件中的内容
w可写权限:能够修改文件内容,能够在目录文件中建立或删除指定的文件
x可执行权限:能够运行某个文件,或能够进入目录文件中
------------------
locate 查找文件比find速度更快一些
-----------
|| 或:第一个命令执行成功,则第二个不执行,第一个命令执行失败,则执行第二个
-------------
0 (stdin) 标准输入 1 (stdout)标准输出 2 (stderr)标准错误输出
输出重定向:就是把输出的结果显示到一个文件上 (>表示输出重定向)
----------------
输入重定向:< 将右边文件中的内容或内容中的部分输入到右边
-----------------ios
ll命令sql
Linux系统发布于1991年
Linux系统的优势:免费,开源,稳定,多任务,多用户,具备良好的可移植性
Linux对硬件的要求:i7以上,8G内存以上,反正RAM是越大越好
禁用Linux的防火墙
--------------shell
ifconfig
重启网卡
service network restart
查看防火墙的状态
service iptables status
不少知识的博大精深,学起来仍是须要费一些劲的
ls命令 list 显示文件或目录
ls -a 显示全部文件
ls -l 显示文件的详细信息数据库
touch 建立一个文件
mkdir 建立一个目录编程
rm -rf 文件名 删除一个文件
----------------------------------
cd . 表示当前目录
cd .. 表示当前目录的上一级目录
ls 查看当前目录的内容
pwd 查看当前所在文件的路径
terminal 至关于cmd 终端vim
service network restart
查看防火墙的状态
service iptables status
字符集选择UTF-8
Xshell4远程工具操做Linux系统
clear 伪装清空的命令
----------------------
修改主机名:
root@主机名
hostname
修改主机名
hostname 名字
vim /etc/sysconfig/network
--------------
Tab 补全的快捷命令
- 开头的是普通的文件
d 开头的是目录文件
查看一个指定目录的文件信息
ls -la /usr
ls -l /etc
---------------
Linux中文件的信息 ll
文件的类型-文件的rwx权限- 硬连接数 全部者(谁建立的) 所属组 文件的大小 文件的建立或修改时间 文件的名称
- 表示普通的二进制文件
d 表示目录directory
l 表示软连接,快捷方式
rwx r读权限 w write写权限 x execute 执行权限
全部者 user 所属组 group 其余人 others
------------
vim中的命令模式,编辑模式,末行模式
cp a.txt /usr/local/a.txt
递归的copy
cp -r d1 /usr/local/d1
rm remove删除文件
rm -f 删除文件
rm -r 删除目录
rm -f a.txt
rm -r d1/
---------------------
cat 查看100行内的文件内容
more 用空格能够翻页 Enter能够下一行 Q键退出或是Ctrl+C
head -number 文件名 查看文件的前几行
tail -number 文件名 查看文件的后几行
mv 原文件 新文件 移动或重命名文件:剪切功能
ln link
ln -s 源文件 目标文件 建立软连接、
软连接:全部人均可以访问,相似于快捷方式
ln 源文件 目标文件 建立硬连接
硬连接:硬连接的大小和源文件同样,且同步更新 ,相似于copy
硬连接不能跨文件系统分区 软连接能够
权限处理
chmod 命令change model
chmod ugo += rwx 文件或目录
ugo: user group others
给文件a.txt的user加上x权限
chmod u+x a.txt
给文件a.txt的user去掉x权限
chmod u-x a.txt
----------------------------
rwx 421 7 读写执行权限
-----------------------------
递归的建立目录
mkdir -p a/b/c
文件夹的写权限,表示能够删除文件夹下的全部数据
文件的写权限,表示是否能够对文件进行修改操做
若是须要删除这个文件的权限,当前的文件所在的文件夹须要有写的权限才行
目录的w权限表示:能够在目录下建立或是删除文件的权限
目录的x权限表示:能够进入到这个目录中去
目录的r权限表示:能够列出目录中的内容
----------------------------------------------
chown xxx 1.txt 改变文件的全部者
chgrp admin b.txt 改变文件的所属组
umask -S 查看系统默认的权限
建立一个文件系统默认的权限就是755=777-022
-----------------
find -name
find -size
find -user
find /etc -name init
find /etc -name *init
find /etc -name ????init 前面必须有4个
1k=2 block 数据块
100M=2*102400 block
---------------------------
ctime: c表示change 改变文件属性:全部者,所属组,权限
atime: a表示access 表示被访问过的意思,被查看了
mtime: m表示modify 更改内容的意思
-时间 表示时间以内
+时间 表示时间以外
----------------------------
找60分钟之内的修改文件
find /etc -cmin -60
找60分钟之外的修改文件
find /etc -cmin +60
-a and 逻辑的与:表示而且的意思
find /etc -size +200000 -a -size 300000
find /etc -size +200000 -a -name ca*
-o or 逻辑的或
find /etc -size +200000 -o -name ca*
-----------------
which 查看命令所在的目录位置
whereis ls
which ls
--------------------
找到一个文件并执行某个命令
找到etc目录中的1.txt并执行删除操做
find /etc -name 1.txt -exec rm -f {} \;
将本地目录中的文件查找后进行显示
find /usr/local -exec ls -l {} \;
找到全部名字有init开头的文件 并将找到的全部文件显示出来
find /etc -name init* -a -type f -exec ls -la {} \;
查看文件的i节点
ls -li
----------------
查看命令的描述
whatis
命令的帮助文档
man
查看某个命令的选项用法
--help
-------------------
tar
-c 用tar打包文件
-x 解压
-v 显示打包操做的执行过程
-f 指定压缩或解压后的文件名
-z 压缩
-C 解压后文件存放的路径
tar -xzvf 软件包名.tar.gz -C /home/hao 将软件包名.tar.gz解压到指定的目录下 (注意:-C为大写)
zip 压缩后文件名称 源文件
unzip 须要解压缩的文件 -d 解压后文件的存放路径
------------
ping 127.0.0.1
ping 域名 会获得域名对应的IP地址
ping IP地址
ping 主机名
ping -c 5 127.0.0.1 表示ping 5次后断开
------------
重启 reboot
关机 poweroff
清屏 Ctrl+L
退出或中断当前操做 Ctrl+C
命令自动补全:Tab
-----------
| 管道 pope
ls -l /etc |more
ls -l /etc |grep init
ls -l /etc |grep init |wc -l
----------------
0 stdin 标准输入
1 stdout 标准输出
2 stderr 标准错误输出
输出重定向:将,命令的执行结果,存放到一个文件中去
> 表示重定向:表示从新覆盖写入
>> 表示在原文件的内容的最后面添加写入
错误信息的重定向
2>
---------------
输入重定向:将一个文件中的内容,读出来显示到另一个位置
<
wall < 1.txt
----------------------
刚进入的是:命令模式
i 光标前插入
A 本行的行末尾追加内容
a 在光标后追加文本内容
o 在下一行插入
O 在上一行插入
ao插入模式,编辑模式
ESC 末行模式 冒号模式
:wq 保存并退出vim
set nu 让文本显示行号
set nonu 取消文本的行号
vim 文件名
vi 与vim之间的区别就是文本的颜色显示
---------------
强制关闭vim 形成的错误,须要删除产生的临时文件,才能再次编辑文本
---------
用户信息的文件
/etc/passwd
密码文件
/etc/shadow
用户组文件
/etc/group
用户组的密码文件
/etc/gshadow
---------------------
超级用户
uid=0的用户,通常root用户是uid为0的用户
普通用户 建立用户的时候不指定uid的话,默认系统中的uid是自增的
uid=500-60000
伪用户:Linux系统中任何进程操做都须要有一个用户的身份
uid=1-499
-------------------
添加用户组
groupadd
删除用户组
groupdel
修改用户组
groupmod -n 新组名 旧组名
-------------------------------
添加用户的操做
u: UID
g:
G:
d:指定添加的用户的家目录
e: 指定添加的用户的时效时间
----------------------------------
修改用户
usermod -l 新用户名 旧用户名
禁用用户名
usermod -L 须要禁用的用户名
解除禁用的用户名
usermod -U 须要解禁的用户名
禁用用户的密码
passwd -I 须要禁用的用户名
解禁用户的密码
passwd -u 须要解禁的用户名
程序是静态的,
进程是程序执行的过程,是动态的,是有必定的生命周期的,是动态产生和消亡的
Linux中进程分为:前台进程和后台进程
经常使用的命令都是前台进程
前台进程在使用的时候是须要占用终端的,后台进程在使用的时候是不须要占用终端的
---------------------------
ps -el 查看全部的进程,包括没有终端的进程
ps -aux 显示当前进程占用CPU和内存的百分比
ps -el --sort pid 对进程进行排序,
ps -aux |grep rpc 对进程结果进行过滤
-------------
关闭进程 kill 进程号
强制关闭进程 kill -9 进程号
重启进程 kill -1 进程号
---------
Ctrl+C 终止一个程序的运行
-------
top 实时监控系统中的进程和性能
------------
Linux中的计划任务
at 在某一时刻执行一次
cron 周期性的执行的
删除计划任务
at -d 任务编号
at -l 查看任务
crontab -l 显示当前的计划任务
crontab -r 删除当前的计划任务
crontab -e 编辑当前的计划任务
查看计划任务的程序是否启动了
ps -el |grep crond
手动的启动一下
/etc/rc.d/init.d/crond start
---------------
crontab 文件保存在 /var/spool/cron 目录中
------------
学会shell脚本后,你本身能够编写shell脚本,你也能够看懂别人写的脚本
不少的事情不是会了才去作的,而是作了才会的
linux 李纽克斯 利尼克斯 里纳克斯
linux创始人,林纳斯-脱袜子
------------------
Linux是从unix模仿和改编而来的
组管理和权限管理:
linux中每一个用户必须属于一个组
文件:全部者,所在组,其余人
查看文件的全部者:
ls -ahl
建立一个组
groupadd xxx
在组下面建立一个用户
useradd -g xxx sss
chown 修改文件的全部者
修改某个文件的所在组
chgrp 组名 指定的文件
usermod -g 组名 用户名
usermod -d 目录名 用户名
查看一个用户的信息
id 指定的用户名
===================================
压缩和解压命令
gzip和gunzip
gzip 压缩为 .gz文件, 压缩后源文件会被删除
gunzip 解压.gz压缩文件
zip和unzip
zip 用于压缩为.zip压缩文件
unzip解压.zip压缩文件
将home目录中的文件压缩为myzip.zip文件
zip -r myzip.zip /home/
将myzip.zip解压到/opt/tmp/
unzip -d /opt/tmp/ myzip.zip
tar打包压缩命令
tar压缩后的文件为 .tar.gz文件
tar -zcvf xxx.tar.gz 须要压缩的文件名
将home下全部文件进行打包压缩
tar -zcvf myhome.tar.gz /home/
将myhome.tar.gz解压到当前目录下
tar -zxvf myhome.tar.gz
将myhome.tar.gz解压到已存在的/opt/tmp/目录中
tar -zxvf myhome.tar.gz -C /opt/tmp/
===================================
unix是1973年用C语言编写的
===================================
用户配置文件
/etc/passwd
用户名 : 密码 : 用户id : 组id : 家目录 : shell
存放用户密码的文件,加密过的密码
/etc/shadow
组配置文件
/etc/group
===================================
→←
root密码找回:
开机的时候按enter键
use the ↑and ↓keys to select which entry is highlighted
press enter to boot the selected os e to edit the commands
before booting a to modify the kernel arguments
before booting or c for a command line
按 e
选中kernel行
use the ↑and ↓keys to select which entry is highlighted
press b to boot e to edit the selected command in the boot sequence c for a command-line o
to open a new line after o for before the selected line d to remove the selected line or escape to go back to the main menu
输入 1 而后enter
按 b 进入的是单用户的模式,单用户模式不须要用root密码能够直接进系统
passwd root
设置一个新的root密码
===================================
man帮助命令
help帮助命令
pwd 显示当前的工做目录的绝对路径
ls 显示当前目录下的文件和目录
ls -l 显示当前目录下的文件和目录的详细信息
ls -lh 用常规的单位查看文件
cd 切换目录
绝对路径:从根目录开始定位
相对路径:从当前工做目录开始定位到须要的目录去
..表示上级目录
mkdir 建立目录
依次建立多级目录
mkdir -p /目录1/目录2/目录3
rmdir 只能删除空目录
rm -rf 能够删除任何文件或目录
cp 复制文件或目录
cp 须要复制的文件或目录 复制到的目录路径
cp -r 须要复制的文件或目录 复制到的目录路径
touch 命令
mv命令
剪切:mv 须要剪切的文件或目录 剪切到的目录
重命名:mv 原文件名 新文件名
cat命令 以只读的方式,查看文件的内容
cat -n 显示行号的查看文件的内容
分页显示文件内容 cat -n 文件名 |more
more命令,以全屏的方式,分页查看文件的内容
less命令,功能更强的查看文件内容,查看大文件速度较快
> 输出重定向,覆盖写入
>> 追加,追加写入
cal 显示当前的月份的日历
echo 爱考 打印内容
echo $PATH 查看当前环境变量的路径
head 查看一个文件开头部分前几行的内容
head -n 5 显示前5行的内容
head 默认显示一个文件的前10行的内容
tail 默认显示文件的后10行的内容
tail -n 5 显示后5行的内容
tail 实时刷新查看的文件内容,若是文件内容有变化,tail的显示结果就跟着变化,能够起到实时监控的做用
ln 软连接命令,相似于windows上的快捷方式
ln -s /root LinkToRoot 给/root建立了一个快捷方式,LinkToRoot
删除软连接:rm -rf LinkToRoot
history 查看已经执行过的历史命令
history 10 显示最近执行过的10条命令
!历史命令的编号 再次执行一遍历史编号的命令
date 显示当前时间
date "+%Y %m %d %H:%M:%S" 显示年月日时分秒
date -s "2018-11-11 11:11:11" 给系统设置指定的时间
calender 日历
cal 2018 显示2018年的日历
cal 显示当前月份的日历
find 在目录中找包含关键词的文件
find 目录的路径 -name 须要查找的文件名,或者文件名的关键词
find 目录的路径 -user 用户名 ,按照文件的拥有者查找文件
find 目录的路径 -size +100m 找出全部大于100M的文件
Ctrl+C 终止当前命令的执行
locate 查询速度比较快,
updatedb 更新数据库
locate
grep 过滤,查找文件内容
grep -n 显示查找结果和对应的行号
grep -i 查找的时候忽略大小写
|管道符,表示将前一个命令的执行结果,做为后面命令的执行条件
家目录:
linux中一个用户至少得有一个用户组,能够有多个用户组
新建用户
useradd 用户名
useradd新建用户的时候默认新建了一个相同名字的组
useradd -d /home/xxx 用户名 指定的目录须要提早存在
cd 是指change directory 切换目录
删除用户
userdel 用户名
userdel -r 用户名 删除用户并删除这个用户的家目录
实际工做中只删除用户名,不删除用户对应的家目录
查询一个用户的信息:用户id号,组id号,所在组的名称
id 用户名
whoami 查看当前系统登陆的用户用
切换用户
su - 须要切换到的用户名
exit 返回到原来切换前的用户
新建组
groupadd 组名
删除组
groupdel 组名
新建用户的时候就指定对应的组
useradd -g 组名 用户名
修改用户的组
usermod -g 新用户组 用户名
===================================
shutdown -h now 当即关机
shutdown -h 1 表示1分钟后关机
shutdown -r now 当即重启
halt 关机
poweroff 关机
reboot 重启
sync 把内存中的数据同步到磁盘中去,把没有保存的数据进行保存操做,关机或者重启时最好先执行一下sync防止数据丢失
logout 注销当前用户,用于远程登陆,在本地主机中无效
===================================
复制当前行yy
粘贴 p
从当前行开始复制5行 5yy
粘贴 p
删除当前行 dd
从当前行开始删除5行 5dd
设置行号 :set nu
取消行号 :set nonu
末行模式下 输入 u 表示撤销操做
G 跳到末行
gg 跳到行首
20 Shift+g 跳到第20行
===================================
Xftp工具,上传和下载文件的工具
linux系统中的远程服务sshd服务22端口
setup 系统服务 查看一下sshd是不是开启状态的
远程工具的乱码问题用UTF-8的编码格式
===================================
全部的设备或者硬件都映射为一个文件来进行管理
bin 命令目录,是binary的简写
dev 设备文件
etc 配置文件
home 家目录
lib 动态库文件
media 光驱,U盘文件识别后会存放在这个目录中
mnt 挂载文件夹,识别其余文件系统的文件
opt 安装的软件存放目录
proc 系统内核文件
root 管理员用户
sbin 管理员使用的命令
selinux 安全文件夹,Security-Enhanced Linux)简称 SELinux
tmp 临时文件夹
usr 用户安装的文件或文件夹
usr/local 安装的外加软件的默认的安装目录
var 不断变化的文件,像日志文件的存放位置
boot 系统的启动引导文件
lost+found 系统非正常关机后生成的一些文件的存放位置
Linux系统中有且只有一个根目录/
Linux是以文件的形式来管理设备的,因此linux系统中一切皆文件
\反斜杠
===================================
虚拟机的网络链接的三种形式模型
桥链接:虚拟机的IP与真实主机的IP在同一网段中,容易出现IP冲突,去掉网关1和广播地址255:255-2=253个可用的IP,会出现IP地址不够用的状况
NAT模式:真实主机上有两个IP一个IP与虚拟机中的ip在同一个网段上,Linux能够访问外网不会形成IP冲突,
仅主机模式:Linux上的IP地址是一个独立的IP网段,不能访问外网
因此通常虚拟机建议使用NAT模式
Tab键选择OK或者Skip
/boot分区,引导分区
/根分区
/swap分区
===================================
windows与Linux的区别
windows是收费的系统
Linux是免费,可定制再发布的系统
听一嘴吧
===================================
登陆Linux后,咱们就能够在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments)
find查找一个文件在系统中的什么位置,locate是神速版本的find(Windows下有个神器Everything和locate功能相似)
--------------------
年轻的时候,咱们的生活中根本就不该该有下班这个概念,咱们须要几乎全部的时间来使本身成为一个更好的人,更优秀的人
一我的宝贵的就是时间,优秀的技术技能毫不是朝九晚五就能够解决的,而是靠自觉和自我剥削来完善本身。
「合理安排闲暇时间:规划你的闲暇时间」,我理解为计划好休息时间,其余的都用来学习。
-----------------------
Don't watch the clock. Do what it does. Keep going.
不要只看时钟,要效仿时钟,一直前行。
--------------------
ls -l 查看一个文件的详细信息
文件类型--文件权限--若是是文件,表示硬连接数,若是是目录表示该目录的子目录个数--文件全部者--文件所在组--文件的大小,若是是目录显示的是4096--文件最后的修改时间--文件名
d 目录文件,至关于windows上的文件夹
- 普通文件,
l linux上的连接文件,至关于windows上的快捷方式
c linux上的字符设备文件,鼠标,键盘就是这类的文件
b 块文件,硬盘,
文件全部者,拥有该文件的权限,user
文件所属组,拥有该文件的权限,group
其余用户拥有该文件的权限,other
rwx 7=4-2-1 权限:
r 4 read 可读取,可查看
w 2 write 可修改,删除一个文件,须要对该文件所在的目录有写的权限,才能删除该文件。对于一个目录文件表示:能够在目录内建立,删除,重命名目录
x 1 execute 能够进入该目录,或者运行一个可执行文件
. 当前目录
.. 上一级目录
------------------------
经过chmod命令能够修改文件或目录的权限
经过+ - = 修改权限
chmod u=rwx,g=rx,o=x 文件或目录名
chmod o+x 文件或目录名
chmod a-x 文件或目录,针对全部的用户
chmod u=rwx,g=rwx,o=rwx 文件或目录名
经过数字修改文件的权限
chmod 777 文件或目录名
rwx =4+2+1 =7
--------------------
修改文件的全部者
chown 文件新的拥有者:文件新的所在组 文件或目录
chown -R 新的用户名 xxx/ 将xxx/目录下全部的文件和目录修改成新的指定的用户名
chgrp -R 新的用户组 xxx/ 将xxx/目录下全部的文件和目录修改成新的指定的用户组
--------------------------
usermod
-----------------
crontab
crontab -e 建立一个计划任务
*/1 * * * * ls -l /etc >> /tmp/xxx.txt 表示每分钟自动执行一下计划任务
计划任务中的5个星号
第一个表示一小时中的第几分钟 0-59
一天中的第几小时 0-23
一个月中的第几天 1-31
一年中的第几月 1-12
一周中的星期几 0-7 0和7都表示星期日
* 表示任什么时候间
, 表示不连续的时间
- 表示一个范围,多少到多少
*/n 表示每隔多久执行一次
crontab -l 查看当前有多个个计划任务
每隔一分钟将日期和时间写到一个文件中
写一个脚本xxx.sh
date >> /tmp/xxx.txt
给脚本一个可执行权限
chmod a+x xxx.sh
建立一个计划任务每分钟执行一下这个脚本
crontab -e
*/1 * * * * xxx.sh
重启计划任务的服务
service crond restart
crontab -r 删除全部的计划任务
-----------------
分区:
mbr分区:最大支持2TB,操做系统只能安装在主分区,最多能够有4个主分区
gtp分区:支持无限多个主分区,windows下最多支持128个分区,最大支持18EB ,EB=1024 PB=1024TB
windows7 64位之后都支持gtp分区
主分区:Primary partition
逻辑分区:Logical
扩展分区:Extend partition
主分区中有扩展分区,扩展分区中有逻分区
mount 挂载
umount 卸载
Windows中的分区c盘 相似于挂载在linux根目录上的一个目录文件
Windows中的分区d盘 相似于挂载在linux根目录上的一个目录文件
u盘插在Linux系统的电脑上 相似于挂载在linux根目录上的一个目录文件
Linux中IDE硬盘的驱动器标识是hdx~
x标识盘号:a基本盘,b基本从属盘,c辅助主盘,d辅助从盘
~ 表示分区1-4是主分区或扩展分区 5开始就是逻辑分区
hda3 表示第一块硬盘上的第三个分区(主分区或扩展分区)
hdb2 表示第二块硬盘上的第二个分区(主分区或扩展分区)
lsblk -f 老师不离开 查看当前系统的分区和挂载信息的命令
linux中SCSI(斯嘎C)硬盘标识是sdx~
分区 分区类型 惟一标识的40位的UUID字符串
sda1 ext4
sda2 swap
sda3 ext4
新增一块硬盘,让后挂载在系统中(挂载到/home/newdisk目录下)
mkdir /home/newdisk
分区-格式化-挂载-设置能够自动挂载
fdisk /dev/sdb
mkfs -t ext4 /dev/sdb1
mount /dev/sdb1 /home/newdisk
vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 defaults 0 0
mount -a
-----------------------
查看系统中磁盘的使用状况
df -l
df -lh
查询指定目录的磁盘占用的磁盘空间多少
du -h /目录名
-s
-h 指定单位
--max-depth=1 指定子目录的深度
-a 统计的时候包含文件
-c 列出明细的同时,增长汇总值
---------------
统计home目录下文件的个数
ls -l /home |grep "^-"|wc -l
统计home目录下目录文件的个数
ls -l /home |grep "^d"|wc -l
统计home目录下文件的个数和子目录中的文件个数
ls -lR /home |grep "^-"|wc -l
统计home目录下目录文件的个数和子目录中的目录文件个数
ls -lR /home |grep "^d"|wc -l
------------------------
NAT模式:
Windows上的Vmnet8 虚拟网卡的IP与 linux系统中的IP在同一个网段上
windows上的真实网卡与外网通讯
自动获取IP,每次重启系统后自动获取到的IP都是可能不同的
手动设置指定的IP地址:
vim /etc/sysconfig/network-scripts/ifcfg-ehto
gateway 网关
ipaddr IP地址
重启网络服务
service network restart
----------------------------------
linux中每一个执行的程序都是一个进程,进程能够有两种方式存在:前台和后台
前台进程
后台进程:守候进程
进程的查看:
ps -a 显示当前终端的全部进程信息
ps -u 以用户的格式显示进程信息
ps -x 显示后台进程运行的参数
ps -aux |more
进程的用户名 进程的编号 进程占用的CPU信息 进程占用内存的信息 占用的虚拟内存的状况 使用的物理内存的信息 使用的终端信息 当前进程的运行状态(S 休眠 R正在运行 ) 占用CPU的总计时间 进程执行时的命令行
-----------------
查找指定的进程:
ps n-aux|grep 进程名
查看进程的父进程
ps -ef |more
查看指定进程的父进程
ps -ef |grep 进程名
杀掉一个进程
kill -9 强制杀掉进程
killall 进程名称,杀掉这个进程相关的全部进程
查看终端对应的进程
ps -aux |grep bash
kill -9 进程名 强制杀掉一个进程
pstree 用树状的形式来展示进程信息
pstree -p 根据Pid的信息显示
pstree -u 根据用户的Uid信息显示
服务的本质是一个进程,一个后台进程
systemctl
restart 重启服务
status 状态服务查看
stop 中止服务
start 启动服务
测试某个端口是否可用
telnet IP地址 端口号
查看linux系统中有哪些服务
setup -- 系统服务
或者
ls -l /etc/init.d/
linux系统中有7中运行级别
0,1,2,3,4,5,6
开机--bios--/boot--init进程--运行级别--运行级别对应的服务
运行级别变成0或者1后须要:进入单用户模式修改为正常的便可
chkconfig 命令能够给每一个服务的各个运行级别设置自启动或关闭
查看服务在对应的运行级别下是否自启动,开启的是能够自启动的,关闭的是不能自启动的
chkconfig --list
查看指定的服务的运行级别的信息
chkconfig --list |grep sshd
或者
chkconfig 服务名称 --list
设置某个服务在某个运行级别不自启动
chkconfig --level 5 服务名称 off
----------------
网络的监控 netstat
top 查看系统中正在执行的进程
当前时间 运行时间 当前登陆系统的用户
running 正在运行的
sleeping 正在休眠的
stopped 正在中止的
zombie 僵尸进程
netstat -anp |more 查看全部的网络服务
查看某个指定的网络服务
netstat -anp |grep sshd
===============================
RPM软件包:redhat package manager 红帽软件包管理工具
RPM软件包以.rpm为扩展名的文件 相似于windows中的setup.ext
查看系统中安装的全部的rpm软件包
rpm -qa |more
查看系统中指定的某个软件包是否安装了
rpm -qa |grep 软件名称
查看火狐浏览器是否安装了
rpm -qa |grep firefox
查看已安装的rpm软件的信息
rpm -qi firefox
查看火狐浏览器安装在什么位置,安装了那些文件
rpm -ql firefox
查看某个文件属于哪一个软件包
rpm -qf /etc/passwd
卸载一个rpm软件包
rpm -e 软件包名称
把系统中安装的火狐浏览器卸载掉
rpm -e firefox
rpm软件包的安装:
rpm 中的参数:
i install 安装
v verbose 提示
h hash 进度条
安装火狐rpm软件包到系统中去
rpm -ivh firefox.rpm
==========================
yum 牙木,Linux系统中的一个shell前端软件包管理器,能够自动处理依赖关系,一次安装全部的依赖包
yum查询或者安装的时候是须要连网的
使用yum的前提是须要连网的
查看火狐软件包,在yum服务器上是否存在
yum list |grep firefox
安装火狐软件包
yum install firefox 默认会安装最新版本的软件包
linux中安装的软件通常放在opt目录下
配置环境变量:
vim /etc/profile
在最后一行写入:vim中G快捷键跳到末尾
JAVA_HOME=/opt/jdk1.7.0_79
PATH=/opt/jdk1.7.0_79/bin:$PATH
export JAVA_HOME PATH
注销用户后,设置的环境变量才能生效
logout
tar -zxvf .tar.gz
cd apach-tomcat-7.0.70/bin/
./startup.sh
在火狐浏览器中访问测试一下
http://localhost:8080
其余客户端访问:
http://Tomcat所在的服务器的ip地址:8080
让防火墙开启8080端口
vim /etc/sysconfig/iptables
重启防火墙后才能生效
systemctl iptables restart
==================
eclipse的安装
解决端口占用问题:把占用端口的服务中止了,而后再从新启动eclipse
==================
mysql的安装和配置
硬件--内核--shell(命令解释器)--应用程序
#!/bin/bash
#脚本的注释
echo "Hello world"
脚本文件须要有x可执行权限
chmod 755 xxx.sh
执行这个脚本
./xxx.sh 在当前目录下用相对路径的方式执行
/root/xxx.sh 用绝对路径的方式执行
或者
sh xxx.sh 没有可执行权限也能够执行
系统变量和用户自定义的变量
$PATH
$USER
$HOME
$SHELL
$PWD
查看系统中的变量
set |more
shell变量的定义:
静态变量:静态变量不能unset
readonly a=100
echo "a=$a"
动态变量:
shell变量定义的规则:=等号两边不能有空格,变量的名字不能以数字开头
反引号 `` 等价于$() 把里面的内容当作一条命令来执行
export 变量名=变量值
source 配置文件
echo $变量名
/etc/profile
让配置文件生效
source /etc/profile
shell中的注释
#单行注释
:<<! 多行注释内容 ! 多行注释
写一个简单的获取输入的参数的脚本信息
#!/bin/bash
#获取到各个参数
echo "$0 $1 $2"
echo "$*"
echo "$@"
echo "输入的参数个数=$#"
ssh 用户名@ip地址
Ubuntu 乌班图
sudo 获取管理员权限 ,相似于windows上的用管理员的身份执行
给root用户设置密码
sudo passwd
--------------------------
echo用于实时输出变量,用来调试shell脚本
!-d 判断一个文件夹是否存在
find -mtime +10 查找10天前的文件
解压缩一个文件
tar -zxvf xxx.tar.gz
-----------------
写一个简单的求和的自定义函数
#!/bin/bash
# 计算输入的两个参数的和
function getsum(){
SUM=$[$n1+$n2]
echo "和是=$SUM"
}
read -p "请输入第一个参数n1" n1
read -p "请输入第二个参数n2" n2
#调用自定义函数getsum
getsum $n1 $n2
-----------------------------
:系统函数,自定义函数
获取文件的名字的系统函数basename
basename /home/test.txt
test.txt
basename /home/test.txt .txt
test
basename 返回完整路径最后/的后面的部分
dirname 返回完整路径最后/的前面的部分
dirname /home/xxx/test.txt
/home/xxx
----------------------
,事先定义好的变量
$$ 返回当前进程的进程号PID
$! 后台运行的最后一个进程的进程号PID
$? 最后一次执行的命令的返回状态,0表示执行成功
写一个测试预约义变量的脚本
#/bin/bash
echo "当前的进程号=$$"
./xxx.sh &
echo "最后的进程号=$!"
echo "执行的值=$?"
-----------------------------
#!/bin/bash
# 计算(2+3)X4 的计算结果
Result1=$(((2+3)*4))
echo "result1=$Result1"
或者
#!/bin/bash
# 计算(2+3)X4 的计算结果
Result2=$[(2+3)*4]
echo "result2=$Result2"
或者使用expr来实现
#!/bin/bash
# 计算(2+3)X4 的计算结果
TEMP=`expr 2 + 3`
Result3=`expr $TEMP \* 4`
echo "result3=$Result3"
#!/bin/bash
# 计算输入的两个参数的和
SUM=$[$1+$2]
echo "SUM=$SUM"
---------------------------------
lt 小于
le 小于等于
eq 等于
gt 大于
ge 大于等于
ne 不等于
-e 判断一个文件是否存在
-d 判断一个目录文件是否存在
-f 判断一个普通文件是否存在
写一个简单的判断是否相等的脚本
#!/bin/bash
#判断两个字符串是否相等
if [ "ok" = "ok" ]
then
echo "equal"
fi
-------------------
#!/bin/bash
#判断两个数字的大小关系
if [ 23 -gt 22 ]
then
echo "大于"
fi
-------------------
#!/bin/bash
#判断一个目录中某个指定的文件是否存在
if [ -e /root/shell/aaa.txt ]
then
echo "存在"
fi
--------------------
shell中的流程控制语句
写一个简单判断的脚本
#!/bin/bash
# 判断输入的一个参数,若是大于等于60,输出及格了,若是小于60,则输出 不及格
if [ $1 -ge 60 ]
then
echo "及格了"
elif [ $1 -lt 60 ]
then
echo "不及格"
fi
----------------------
#!/bin/bash
# 判断输入的参数是1 输出:周一 输入的参数是2 输出周二,其余输入,输出other
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other"
;;
esac
----------------------
#!/bin/bash
# 打印命令中输入的参数
for i in "$*"
do
echo "the num is $i"
done
使用$@
#!/bin/bash
# 打印命令中输入的参数
for i in "$@"
do
echo "the num is $i"
done
-----------------
#!/bin/bash
# 计算从1加到100
#定义一个结果变量
SUM=0
for((i=1;1<100;i++))
do
SUM=$[$SUM+$i]
done
echo "sum=$SUM"
(100+1)*(100/2)=101*50=5050
----------------------
#!/bin/bash
# 在命令中输入一个数n 统计从1+...+n 的值是多少
SUM=0
i=0
while [ $i -le $1 ]
do
SUM=$[$SUM+$i]
i=$[$i+1]
done
echo "sum=$SUM"
-----------------------------
#!/bin/bash
# 读取控制台中输入的值
read -p "请输入一个数num=" NUM1
echo "你输入的值是num1=$NUM1"
设置读取输入的时间是10秒
#!/bin/bash
# 读取控制台中输入的值,10秒内没有输入自动跳走
read -t 10 -p "请输入一个数num2=" NUM2
echo "你输入的值是num2=$NUM2"
Shift+g == G 移动到文章的最后
Shift+4 == $ 移动到光标所在行的行尾
Shift+6 == ^ 移动到光标所在行的行首
gg 进入到文本的开始,文件的第一行
Shift+g == G 进入到文本的末端,文件的最后一行
u ---撤销操做
ctrl+r ---反撤销
:wq -- 保存并退出。
ZZ -- 保存并退出。
:x -- 保存并退出。
:q! -- 不保存退出。
nG: 到文件第n行。
cd ~ 回到当前用户的家目录下
难者不会,会者不难
学习的时候先对知识有一个总体的框架构建,而后在关注和解决细节问题
当遇到实在没法理解的问题,请不要死扣细节问题,适当的模糊它,适当的囫囵吞枣
技术自己不难,在于你本身是怎么理解的,理解到位了就不难
linux须要多练习,多思考成长才会很快
熟练了以后就会有不少的想法,我亦无他,唯手熟尔
推荐的一款电脑屏幕录制软件基本上很清晰,1分钟1M大小
Camtasia Studio7
桥接模式能够联网
有些的知识真多:博大精深
互动真的很重要:喜欢的是互动的更多一些,不要喊你半天你没反应,
人生最靠谱的竞争对手是本身
种一棵树最好的时间是10年前,其次是如今
黑底白字,看着不累眼睛
这个时代对那些勤于学习,努力为实现目标从不放弃的人来讲,是公平的,由于变现的渠道确实不少,多加琢磨,勤于实践就会有所收获。
寒冬不可怕,在寒冬里没有生存能力,才是最可怕的。
作好本职工做的同时,积极学习提升自我,作好长期应对的准备,等待好的时机,再出手。
有责任心,默默无闻,愿意努力付出
按照别人的意愿活着,活的是一脸懵逼,别人舒不舒服是别人的事情,本身爽不爽应有本身选择,活着是本身的与他人毫无关系
不喜欢就是不喜欢,不必掩饰
朋友介绍跟另外5个不认识的女孩子去ktv玩,而后去吃饭,谁知道那几个女孩子先到的ktv而后咱们到了以后,玩了没多久
他们都借口有事直接走了,5个一块儿都走了,感受这5个女生有些不尊重人,给咱们的感受就是看不起咱们,搞的咱们蛮没面子的,心情刷一会儿就坏下来了,晚上吃饭都木得心情
原本说好了,一块儿玩认识一下新朋友的
停车仍是找停车位停吧,或者收费的停车场也行,一张罚单就200超级不划算还很麻烦
作什么事情必定得提早规划好,作到心中有数
春困秋乏冬冷夏热 学习真的是须要必定的能力的,这种能力是克服困难的能力,是面对挫折的能力,是自我恢复调节的能力,克服不了前进路上的种种障碍终究是一事无成庸庸碌碌
与其满脑子去想一些有的没的,还不如把本身的时间和经历用在提高自我上,让本身变得更优秀,优秀是一种能力,更是一种优秀的生活态度
我亦无他,唯手熟尔
说一千道一万,不如本身尝咸淡
用正确的方式作事情,能够作的更好,效率更高,因此如今干什么事情,不多糊弄,必定要花时间作的事,就尽力作好,可能这是最省事的方法。
对同窗们想说的是:若是你的目标是100分,达不到能得90分也不错,若是你想省事,目标定成60分,达不到要补考,还可能屡次补考,浪费的时间精力反而会更多。