1.whoami :打印与当前生效的用户 ID 关联的用户名
2.hostname 查看主机名
修改主机名(永久修改)
hostnamectl set-homename 新的主机名
3.修改linux的命令提示符,通过变量PS1控制
echo $变量名 #打印出变量的值
#输出PS1变量的值
echo $PS1
#修改变量的值
[\u@\h \W]\$
PS1='[\u@\h \t \w]\$'
\u 当前登录用户
\h 当前主机名
\t 当前系统时间
\w 输出绝对路径
\W 输出工作路径的最后一位
4.vim编辑器的用法
1. 编辑文件
当文件名称存在时,进入文件直接编辑
当名称不存在,vim会退出保存时自动建立文件
当vim命令后没有跟任何文件名称时,无法实现“:wq”退出保存时,可以用“wq filename”
2. 当vim异常退出时,系统会建立 .file.swp这个缓存文件
这个文件中保存着 没有“:wq”动作保存的信息
当用vim对文件做编辑的时候会提示
O #只读打开
E #直接忽略.file.swp信息编辑文件
R #利用.file.swp进行保存数据恢复
D #删除.file.swp
Q #退出
A #终止
#vim的三种模式
命令模式
1.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做剪切时,会进入插入模式,如果要粘贴需要退出插入模式按再按P"
"d"
删除
"dw" ##删除一个单词
"dl" ##删除一个字母
"dd" ##删除一整行
"d5d" ##删除5行
"p"
粘贴
# vim的可视化操作
1.可视化模式的基本操作
在vim中不能用鼠标选择区域操作,如果需要操作某个区域,需要进入到可视化模式
在命令模式下“Ctrl+v”进入到可视化模式
按“上|下|左|右”移动光标选择区域,按相应操作键就可以对选择区域进行操作
2.可视化模式下批量操作字符
把光标停留在想要加入字符所在的列的第一行
移动光标选择添加字符所在列
按“I”进入插入模式
按“ESC”退出插入模式,字符批量添加成功的
3.vim字符替换
%s/原有字符/新字符/g #全文替换
1,5s/原有字符/新字符/g #替换1到5行字符
g #替换出现的所有关键字,如果不加“g”只替换每行出现的第一个关键字
4.vim总字符的查找及光标的移动
字符的查找
/关键字
n ##向下匹配关键字
N ##向上匹配关键子
光标的移动
:数字 ##光标快速移动到指定行
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后以行
5.vim同时编辑多个文件
:sp filename
ctrl + w 上 #光标进入上边文件窗口
ctrl + w 下 #光标进入下边文件窗口
# vim插入模式
"i" #在光标所在位置插入字符
"I" #光标所在行的行首插入字符
"o" #光标所在行的下一行新行插入字符
"O" #光标所在行的上以行新行插入
"s" #删除光标所在字符并插入字符
"S" #删除光标所在行并插入字符
"a" #光标所在字符的下一个字符插入
"A" #光标所在行的行尾插入字符
# 退出模式
:q #当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! #当vim进入文件对文件内容有操作但不想保存退出
:wq #正常保存退出
:wq! #强行保存退出,只针对与root用户或文件所有人生效
5.linux下安装各种软件,都是yum工具
yum install vim -y #安装vim软件,且自动输入yes
6.cat命令
cat -n filename # 显示行号
cat -E filename # 每一行结尾加上$符
7.特殊符号
> 重定向覆盖输出符 w模式
>> 重定向追加输出符 a模式
< 重定向覆盖写入符
<< 重定向追加写入符
8.more less命令用于分屏显示文本内容
1. more
more是一个过滤器,用于一次浏览一个屏幕的文本。
在more过滤器下有一些常用键,<Space>表示显示下一屏内容;<Enter>表示显示文本的下一行内容;<H>显示帮助;<B>上一页;<Q>退出more过滤器。
2. less
用法: less -参数 a.log
-b 《缓冲区大小》 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o 《文件名》 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x 《数字》 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
g 跳到文件头 【常用】
G 跳到文件尾部 【常用】
9.head --------------- 从头看
tail --------------- 从尾巴看
head -n 数字 filename # 看文件的前n行
tail -n filename # 看文件的后n行
# 输出文件的10-20行
head -20 english.txt | tail -10
10.linux的查找命令
find +从哪找 -type +文件类型 -name +你要找什么名字的文件
# 文件类型
l 快捷方式类型
d 文件夹类型
f 文本类型
# 全局搜索,所有以.txt结尾的文件
find / -type f -name "*.txt"
#在/opt下搜索和python有关的文件夹
find /opt -type d -name "python*"
13.管道符的用法
管道符,可以把两条命令连起来,具体来说有两种应用,如下:
1. 例如: ps aux | grep "media" # 在 ps aux中的結果中查找media。
2. 例如: find . -name "*.cpp" | xargs grep "class" -n --color=auto # 把find的结果当成参数传入到grep中,即在那些文件内部查找class关键字。
一个复杂的例子:
svn status | xargs -i expr substr {} 9 100 | xargs -i cp {} ~/Desktop/
find . -name "*.xml" | xargs grep -l "com.lib.ui.common.TempTitle" | xargs -i sed -i "s/com.lib.ui.common.TempTitle/com.common.widget.TempTitle/g" {}
14.查看进程的命令
ps aux 或者 ps -ef # 查看机器所有进程信息
ps aux | grep "vim" # 过滤出和vim有关的进程
ps命令有很多参数,具体如下:
命令 | 含义 |
---|---|
e | 显示所有进程,环境变量 |
f | 全格式 |
h | 不显示标题 |
l | 长格式 |
w | 宽输出 |
a | 显示终端上地所有进程,包括其他用户地进程 |
r | 只显示正在运行地进程 |
x | 显示没有控制终端地进程 |
u | 以用户为主的格式来显示程序状况 |
au | 显示较详细的资讯 |
aux | 显示所有包含其他使用者的行程 |
-C<命令> | 列出指定命令的状况 |
–lines<行数> | 每页显示的行数 |
–width<字符数> | 每页显示的字符数 |
–help | 显示帮助信息 |
–version | 显示版本显示 |
15.过滤字符串的命令
grep "你想要的字符串" filename
grep -i 'root' filename # 找出文件中所有大小写的root
# 找出文件的有用信息行
grep -v "^#" filename | grep -v "^$"
16.远程传输scp
# 语法:
scp 你想要的内容 传输到哪里
#把我本地机器1的/tmp/刚哥.txt发到远程机器的/opt目录下
scp /tmp/刚哥.txt root@机器的ip:/opt/
#把自己的东西发给别人
#把本地的first.py 发送给[email protected]这个机器,然后
1.如果data文件夹存在,则放入data文件夹中
2.如果没有data这个文件夹,则把first.py改名为data
scp ./first.py root@192.168.16.105:/data
#把别人的东西拿过来
scp root@192.168.16.105:/data/钢哥的小秘密.txt /opt
#发送所有的文件和文件夹给别人
scp -r ./* root@192.168.16.105:/data/
17.统计文件夹大小命令
1. ls -h
2. du命令 以du命令为准
-h 显示mb gb单位
-s 显示统计
#统计/var/log文件夹大小
du -sh /var/log/
常用参数
-a all 里出所有的目录文件,包括以 . 开头的隐藏文件 例子:ls -a
-A同-a,但不列出”.”(表示当前目录)和”..”(表示当前目录的父级目录) 例子:ls -A
-c 配合 –lt:根据 ctime 排序显示(ctime 文件最后的更改时间) 配合-l :显示ctime 但根据名称排序 否则根据ctime排序 例子:ls –clt
-C 每栏由上至下列出项目 例子:ls –Clt
--color[=WHEN]控制是否使用色彩分辨文件 WHEN 可以是’never’,’always’,’auto’其中之一 例子:ls --color='never'
-d 将目录像文件一样显示,而不是显示其下的文件 例子:ls –d
-D –dired产生适合Emacs的dired模式使用的结果 例子:ls –D
-f 对输出的文件不进行排序 例子:ls -f
-g 类似 –l ,但不列出所有者 例子:ls -g
-G 不列出任何有关组的信息 例子:ls –Gls
-h 以容易理解的格式列出文件大小 例子:ls –lsh
-si 类似-h ,但是文件大小取1000的次方而不是1024 例子:ls –lsi
-H 使用命令列中的符号链接指示真正的目的地 例子:ls -H
-i ,-incode印出每个文件的incode号 例子:ls -i
-k 即以k字节的形式表示文件的大小 例子:ls -k
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。 例子:ls –l
-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息 例子:ls –L
-m 所有项目以逗号分隔,并填满整行行宽 例子:ls -m
-R 遍历列出所有子目录层 例子:ls –R
-r –reverse依次反次序排列 例子:ls –r
-S 以文件大小排序 例子:ls –S
-t 以文件修改时间排序 例子:ls -t
-u 配合 -lt:显示访问时间而且依访问时间排序
配合 -l:显示访问时间但根据名称排序
否则:根据访问时间排序 例子:ls -u
-U 不进行排序;依文件系统原有的次序列出项目 例子:ls -U
-v 根据版本进行排序 例子:ls -v
-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值 例子:ls -w
-x 逐行列出项目而不是逐栏列出 例子:ls -x
-X 根据扩展名排序 例子:ls -X
-1 每行只列出一个文件 例子:ls –l
–-help 显示此帮助信息并离开 例子:ls –help
–-version 显示版本信息并离开 例子: ls –version
18.linux的任务管理器 top命令
inux top命令用于实时显示 process 的动态。
使用权限:所有使用者。
语法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明:
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
19.查看文件特殊权限的命令
lsattr
# 设置文件特殊权限的命令
chattr
#用chattr命令防止系统中某个关键文件被修改:
chattr +i /etc/resolv.conf
20.更新系统时间
ntpdate ntp.aliyun.com # 和阿里提供的时间服务器,进行时间同步
# 查看系统时间
date命令
21.在线下载资源的命令
wget -r -p www.luffycity.com # -r -p 递归爬取网站资源
20.看内存
free命令用于显示内存状态。
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
语法
free [-bkmotV][-s <间隔秒数>]
参数说明:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
B = bytes
K = kilos
M = megas
G = gigas
T = teras
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息
21.看磁盘信息
fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
语法
fdisk [必要参数][选择参数]
必要参数:
-l 列出素所有分区表
-u 与"-l"搭配使用,显示分区数目
选择参数:
-s<分区编号> 指定分区
-v 版本信息
菜单操作说明
m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
22.磁盘使用率
df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
语法
df [选项]... [FILE]...
文件-a, --all 包含所有的具有 0 Blocks 的文件系统
文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
文件-i, --inodes 列出 inode 资讯,不列出已使用 block
文件-k, --kilobytes 就像是 --block-size=1024
文件-l, --local 限制列出的文件结构
文件-m, --megabytes 就像 --block-size=1048576
文件--no-sync 取得资讯前不 sync (预设值)
文件-P, --portability 使用 POSIX 输出格式
文件--sync 在取得资讯前 sync
文件-t, --type=TYPE 限制列出文件系统的 TYPE
文件-T, --print-type 显示文件系统的形式
文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
文件-v (忽略)
文件--help 显示这个帮手并且离开
文件--version 输出版本资讯并且离开
23.软件包管理 yum命令
配置yum源的过程
centos的默认yum仓库路径是 /etc/yum.repos.d ,在这目录下,第一层文件夹中的repo文件会识别为仓库文件
1.获取阿里云的yum源
打开网址https://opsx.alibaba.com/mirror
2.找到第一个仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.下载第二个仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4.生成yum缓存,加速以后下载
yum makecache