####1.什么是linux######
1.linux指的是linux的内核
2.我们所说的操作系统是linux的内核+GNU组织的软件 GNU/linux
#####2. 启动,关机,登入,登出相关命令######
<login> 登录
<logout> 登出
<exit> 登出
<shutdown> 停止系统
<halt> 停止系统
<reboot> 重启动
<poweroff> 切断电源
<sync> 把内存里的内容写入磁盘
<lilo> 安装lilo启动管理程序
<grub> 安装lilo启动管理程序
1)系统登陆
图形登陆方式
文本登陆方式
gnome-session-quit –force ###注销用户 –force强制注销,不询问
2)工作界面转换
ctrl+alt+上|下
3)开始bash
1.Applications>Utilities>Terminal
2.鼠标右键—–>open in terminal
3.gnome-terminal
4.ctrl+shift+n ##在新窗口中打开shell
ctrl+shift+t ##同一个窗口中打开新的tab
5.退出:exit | ctrl+d
4)系统关机,重启
重启
reboot | init 6 |shutdown -r now
关机
poweroff | init 0 | shutdown -h now
5)锁屏
ctrl + alt +L ##在rhel7.0
win键 + L ##在rhel7.2
date
- 1
watch -n 1 date ###让date命令每秒执行一次,ctrl +c 推出监控模式
- 1
date 11181115 ###把系统时间设定为11月18日11:15 格式:月月天天小时分钟
date 111811152016.55 ##2016表示年(可以不加).55 表示秒(可以不加)
-d +xday -xday ##查看x天前或者后的时间
+%.... ##设定date的输出格式
####3.什么是shell####
1.shell是一个解释器
2.shell是保护系统内核不被篡改的软件
3.我们所使用的系统中默认启动的shell是bash
目录 directory
####4.在shell中如何执行命令####
1.命令必须在行提示符之后输入
2.如何行提示符被占用,那么,ctrl+c可以结束占用当前行提示符的程序从而释放行提示符
<chsh> 切换Shell
<history> 显示命令履历
<alias> 设置命令别名
<unalias> 取消命令别名
<which> 显示命令所在位置
<type> 查询命令种类
<echo> 显示字符串或者变量内容
<set> 设置/显示Shell变量
<printenv> 显示环境变量
<export> 设置环境变量
<env> 设置临时环境变量
<unset> 释放环境变量
<setenv> 设置环境变量
<unsetenv> 释放环境变量
<source> 执行文件当中的命令
<man> 查询命令手册
<info> 查询超文本命令手册
<whatis> 显示命令简介
<apropos> 通过关键字查询手册
<clear> 清屏
<bc> 计算
####5.命令+空格+参数+空格+对象########
命令就是程序
参数就是程序指定的某种功能 -a -b -c =-abc = -bac
对象就是操作的目标
####6.行提示符的含义########
#####[kiosk@foundation0 Desktop]$
kiosk #表示shell的运行人是谁
foundation0 #shell开启主机的主机名称
Desktop #你当前所在文件夹的名字
$ #你的用户身份是什么级别,$表示普通用户,#超级用户
####7. 用户管理相关命令#########
<su> 切换到其他用户
<useradd> 追加用户
<adduser> 追加用户
<userdel> 删除用户
<usermod> 修改用户设置
<chfn> 修改用户私人信息
<groupadd> 追加组
<groupdel> 删除组
<groupmod> 修改组设置
<passwd> 更改密码
<whoami> 显示用户名
<logname> 显示登录用户帐号
<users> 显示所有登录用户信息
<who> 查询登录用户信息
<w> 查询登录用户信息
<id> 显示指定用户的ID信息
<groups> 显示指定用户的所属组
<finger> 显示指定用户的个人信息
<mesg> 开关与他人收发消息
<write> 给其他用户发消息
<wall> 给所有用户发消息
<talk> 和其他用户聊天
####8.文件管理命令####
1.新建文件
touch file
2.新建目录
mkdir test
3.删除文件
rm -f file ## -f 是force的缩写,表示强制删除不提示
4.删除目录
rm -f -r 目录 ##-r 表示递归,就是目录本身和里面的所有内容
5.查看文件内容
cat file
6.编写文件
vim file 进入浏览模式
按"i"键 进入插入模式开始编写字符
编写结束后按"ESC"键 退出插入模式
按":wq" 保存退出,文件编写完成
7.复制
cp file 新文件名称|目录
cp -r dir 新名称|目录
8.移动
mv file 目录
mv dir 目录
mv 目录/* . 把目录中的所有内容移动到当前所在系统位置 "."代表当前所在系统目录
####9. 系统消息相关命令#########
<date> 显示/设置当前时间
<uptime> 显示系统运行时间
<arch> 显示机器的核心构架(如i386)
<uname> 显示操作系统信息
<tty> 显示终端名
<last> 显示登录/登出在履历
<lastb> 显示非法登录信息
<dumpkeys> 显示当前键盘配置
<loadkeys> 变更键盘配置
<df> 查询磁盘剩余使用空间
<du> 查询磁盘已使用空间
<dmesg> 显示系统启动消息
<script> 保存输入输出到文件
##10.系统结构##
/bin #常用系统命令
/sbin #系统管理命令
/boot #启动分区
/sys #内核参数调整
/dev #设备文件
/lib #32位库文件
/lib64 #64文库文件
/media /run /mnt #临时设备的挂载点
/opt #第三方软件安装位置
/proc #系统信息
/etc #系统配置目录
/home #普通用户家目录
/root #超级用户家目录
/var,/srv #系统数据
####11.文件操作相关命令####
<ls> 显示文件列表
<tree> 显示目录树
<pwd> 显示当前路径
<cd> 更改当前路径
<pushd> 追加路径到目录堆栈
<popd> 从目录堆栈删除路径
<dirs> 显示目录堆栈的内容
<mv> 移动文件/目录,修改文件名
<chown> 更改文件/目录的所有者
<chgrp> 修改文件/目录的所有组
<chmod> 修改文件/目录的权限
<touch> 更改文件时间
<ln> 建立文件/目录链接
<find> 查找文件
<whereis> 显示文件存在的路径名
<file> 查询文件种类
<size> 查询文件大小
#####12.关于路径的命令#######
1.路径分为
绝对路径:
文件所在系统的真实位置,在系统的任何位置都可以使用通常以"/"开头
相对路径
相对当前所在系统位置的一个文件名称的简写,他通常会自动添加"pwd"的值在名称前
2.相关命令
pwd ##print work directory 显示当前所在系统位置的路径
eg: touch /mnt/file ##用绝对路径的方式在/mnt/中建立file文件
rm -fr /mnt/file ##用绝对路径的方式删除/mnt/中的file文件
mv hello /mnt ##把当前的hello文件移动到/mnt目录中
mv /mnt/hello . ##用绝对路径的表示方式把/mnt中的hello文件移动到当前位
3.文件的显示
ls
ls -a ##显示所有文件包括以点开头的隐藏文件
ls -R ##递归显示目录中的所有内容
###13. 文件编辑相关命令########
<cat> 显示文件内容
<tee> 输出到文件和屏幕
<more> 分屏显示文件内容
<less> 分屏显示文件内容
<head> 显示文件头部内容
<tail> 显示文件尾部内容
<fold> 折叠显示长行
<sort> 排列文件的行
<cmp> 比较文件内容
<diff> 显示文件差异
<nkf> 更改日语文件编码
<dd> 变更文件之后复制
<wc> 统计文本单词数,文件大小等
<split> 分割文件
<paste> 以行连接文件
<join> 以字段连接文件
<grep> 查询文字
<uniq> 过滤重复部分显示文件内容
<tr> 替换文字
<sed> 替换文字
#######14.压缩/解压相关命令#####
<ar> 压缩/解压缩文件
<tar> 压缩/解压缩文件
<compress> 压缩/解压缩文件
<uncompress> 解压缩
<gzip> 压缩/解压缩文件
<gunzip> 解压缩
<zcat> 显示压缩文件的内容
<lha> 压缩/解压缩文件
<uuencode> 把二进制文件编码为文本文件
<uudecode> 把经过编码的文本文件还原为二进制文件
#####15.命令管理#######
1.当得到一个命令我们不知道这个命令的作用时
whatis 命令
whatis cal ##显示cal命令的用途
cal (1) - display a calendar
cal (1p) - print a calendar
2.当知道命令的用途,但是不知道命令的运行格式或者方法时
命令 --help ##获得命令的帮助 --help只适用与命令
cal --help
useage:
cal [options] [ [ [day] month] year]
3.当我们查看文件的帮助时,--help是不能使用的,那么我们要用man命令来查看帮助了
man === manual
man的级别
1 ##命令
2 ##内核调用的接口
3 ##函数库
4 ##特殊文件比如设备文件
5 ##系统文件
6 ##游戏
7 ##包信息
8 ##系统密令
9 ##内核规则
man date ##查看date命令的帮助手册
man 5 passwd ##查看/etc/passwd 文件的帮助手册
进入man页面后
pageup #向上翻页
pagedown #向下翻页
/关键字 #查找关键字
n #关键字向下匹配
N #关键字向上匹配
q #退出
"注意:当man或者whatis命令无法查询帮助是,是因为系统没有加载帮助数据库"
"处理方式:执行 mandb"
#########16.控制外部设备相关命令#####
<mount> mount上设备
<umount> 解除已经mount上的设备
<eject> 弹出(CD/DVD等)
<fdformat> 格式化软盘
<fdisk> 配置/显示硬盘分区
<mkfs> 格式化磁盘分区
<fsck> 检查/修复磁盘错误
<lpr> 打印到打印机
<lprm> 中断打印任务
<lpq> 显示打印任务的状态
<lpc> 管理/控制打印任务
<ifconfig> 显示/设定NIC配置
########17.进程及任务管理相关命令#########
<ps> 显示正在运行的进程
<jobs> 显示后台运行任务
<fg> 把任务切换到前台
<bg> 把任务切换到后台
<kill> 中止进程或任务
<killall> 中止进程或任务
<wait> 等待进程或任务的结束
<at> 设置定时执行任务
<atq> 显示尚未执行的任务
<atrm> 删除定时执行任务
<batch> 在系统负荷减轻的时候执行任务
<nice> 改变优先度并执行任务
<nohup> 在后台执行任务,Logout之后也不退出
<sleep> 休眠一定的时间
########18.网络管理相关命令#######
<netstat> 显示当前网络连接状况
<route> 显示/设置路由
<host> 显示网络主机情况
<hostname> 显示/设置当前主机的名字
<ping> 确认和远程机器的连接情况
<traceroute> 显示路由信息
<rwho> 查询网上机器的登陆用户
<ruptime> 查询网上机器的系统运行时间
<rlogin> 登陆到远程机器
<telnet> 用telnet登陆到远程机器
<rsh> 给远程机器发送命令
<rcp> 在远程机器之间复制文件
<mail> 收取邮件
<sendmail> 发送邮件
<mailq> 确认邮件队列
<ftp> 用ftp传输文件
#####19.组合命令#######
重定向,如
$ ls -l /bin > ls-output
$ more ls-output
管道命令,如
$ cat file1 file2 | sort | uniq
经常被用于管道的命令
awk, fold, grep, head, nnkf, pr, sed, sort, tail, tee, tr, uniq, wc
######20.用户密码管理命令#####
.passwd 修改用户密码
[root@foundation0 ~]# passwd
passwd 参数 用户名称 -S student ##用户密码信息 --status student 。。。。。。 -l student ##锁定帐号 -u student ##解锁 -n 1 student ##设定密码最短有效期 -x 30 student ##设定密码最长有效期 -w 3 student ##警告期 -i 2 student ##设定用户非活跃天数 -d student ##清除用户密码 -e student ##在下一次登录成功后修改密码
监控passwd密码信息 watch -n 1 passwd -S student
#######21.history历史调用及linux快捷键######
history历史调用
history ##显示历史
hostory -c ##清除当前环境当中的历史命令
!数字 ##执行第多少行命令
!字母 ##执行最近一条以这个字母开头的命令
ctrl +R +关键字 ##执行最近一条含有这个关键字的命令
上下键 ##逐行调用命令
- 1
- 2
- 3
- 4
- 5
- 6
linux中的快捷键
左右 ##一个字符一个字符移动
ctrl +左右 ##一个字一个字移动
ctrl + a ##光标移动到行首
+ e ##光标移动到行尾
+ u ##光标所在位置删除到行首
+ k ##光标所在位置删除到行尾
+ r+关键字 ##调出最近一条含有关键字的命令
+ c ##撤销以输入的命令
+ d ##关闭当前环境
+ L ##清空屏幕
+ shift + c ##复制
+ shift + v ##粘贴
+ shift + t ##在现有shell中重新打开一个table
+ shift + n ##在shell中打开一个新的shell
+ shift + pageup|pagedown ##切换table
+ alt + l ## 锁屏
+ alt +上|下 ##切换工作界面
+ alt + f1|f7 ##进入图形界面
+ alt + f2-f6 ##进入虚拟控制台
######22.字符匹配#######
* ###匹配0到任意字符
? ###匹配单个字符
[[:alpha:]] ###匹配单个字母
[[:lower:]] ###匹配单个小写字母
[[:upper:]] ###匹配单个大写字母
[[:digit:]] ###匹配单个数字
[[:alnum:]] ###匹配单个数字或字母
[[:punct:]] ###匹配单个符号
[[:space:]] ###匹配单个空格
{}
{1..9} ###1-9
{a..f} ###a-f
{1,3,5} ###135
{a,c,e} ###a c e
{1..3}{a..c} ###1a 2a 3a 2a 2b 2c 3a 3b 3c
[]
[a-C] ###aA bB cC
[a-c] ###aA或者bB或者c
[1-3] ###1或者2或者3
[145] ###1或者4或者5
[^abc]|[!abc] ###除了a并且除了b并且除了c
#####23.linux中其他常用文本处理工具######
head ##显示指定文件的前多少行
head -n 1 passwd ##显示文件的第一行
head -n 7 passwd ##显示文件的前7行
head passwd ##默认显示文件的前10行
tail ##显示文件的后多少行
tail -n 1 passwd ##显示文件的最后以行
tail -n 5 passwd ##显示文件的最后5行
tail passwd ##显示文件的最后10行
less ##分页浏览
less passwd
/关键字 ##搜索关键字
按"v" ##由浏览模式进入vim模式,按"i"进入编辑模式,按"ESC"后按":wq" 退出编辑模式进入浏览模式
#### ##统计文件的字数,字符数,字节数
wc -l ##行数
wc -m ##字符数
wc -c ##字节数
wc -w ##字数
#######24.vim深剖析#######
vim的注意事项
1.编辑文件时
当文件名称存在,那么进入文件直接编辑
当文件名称不存在,vim会在退出保存时自动建立文件
当vim命令后没有跟任何文件名称时,时无法实现":wq"退出保存的那么可以用":wq filename"
2.当vim异常退出时,系统会建立.file.swp这个缓存文件
这个文件中保存着没有":wq"动作保存的信息
当用vim对文件做编辑的时候会提示
O #只读打开
E #直接忽略.file.swap信息编辑文件
R #利用.file.swap进行为保存数据恢复
D #删除.file.swap
Q #退出
A #终止
vim有三种模式
################## 命令模式 #################
##vim工作方式设定
命令模式是vim打开文件后默认进入的模式,这个模式中不能插入字符,但是可以设定vim的工作方式
:set 指定信息
:set nu
:set nonu
:set cursorline
:set mouse=a
注意:在vim中直接设定vim的工作方式是临时设定,也就是说当vim关闭,设定失效
如果要永久设定需要编写"/etc/vimrc".这个文件也是vim的配置文件
#### 2.在命令模式下如何管理字符 ####
按"x"
删除光标所在字符
按"u"
undo 恢复
按"ctrl+r"
redo 撤销恢复
按"y"
复制
"yw" ##复制一个单词
"yl" ##复制一个字母
"yy" ##复制一整行
"y5y" ##复制5行
"c"
剪切
"cw" ##剪掉一个单词
"cl" ##剪掉一个字母
"cc" ##剪掉一整行
"c5c" ##剪掉5行
注意:"用C做剪切时,会进入插入模式,如果要粘贴需要退出插入模式按<ESC>再按P"
"d"
删除
"dw" ##删除一个单词
"dl" ##删除一个字母
"dd" ##删除一整行
"d5d" ##删除5行
"p"
粘贴
#### 3.vim的可视化操作 ####
#1.可视化模式的基本操作
在vim中是不能用鼠标选择区域操作的
如果要操作某个区域,需要进入到可视化模式
在命令模式下 "ctrl + v" 就可以进入到可视模式了
按"上|下|左|右"移动光标选择区域,按相应操作键就可以对选择区域进行操作
##########重点################
如何在vim时注释很多行:
(1)光标放在起始行首行:ctrl+v;
(2)选中要注释的行:shift+大写i;
(3)输入"#"进行替换后,按Esc键。
################################
#2.可视化模式下批量添加字符
1.把光标停留在想要加入字符所在的列的第一行
2.移动光标选择添加字符所在列
3."I"进入插入模式
4.写入要插入的字符
5.按"ESC"退出插入模式,字符批量添加成功
#### 4.vim的字符替换 ####
%s/原有字符/新字符/g #全文替换
1,5s/原有字符/新字符/g #替换1到5行的字符
g #替换出现的所有关键字,如果不加"g"只替换没行出现的第一个
eg: #操作
:%s/sbin/#########/g
:1,5s/sbin/########/g
#### 5.vim总字符的查找及光标的移动 ####
#1.字符的查找
/关键字
n ##向下匹配关键字
N ##向上匹配关键子
#2.光标的移动
:数字 ##光标快速移动到指定行
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后以行
####### 6.vim同时编辑多个文件 #########
:sp filename
ctrl + w 上 #光标进入上边文件窗口
ctrl + w 下 #光标进入下边文件窗口
#################### 插入模式 ######################
"i" #在光标所在位置插入字符
"I" #光标所在行的行首插入字符
"o" #光标所在行的下一行新行插入字符
"O" #光标所在行的上以行新行插入
"s" #删除光标所在字符并插入字符
"S" #删除光标所在行并插入字符
"a" #光标所在字符的下一个字符插入
"A" #光标所在行的行尾插入字符
################## 退出模式 ######################
:q #当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! #当vim进入文件对文件内容有操作但不想保存退出
:wq #正常保存退出
:wq! #强行保存退出,只针对与root用户或文件所有人生效