-
Linux第二天
今天linux就讲完了,老师说明天讲C,发现Linux主要是一些命令,就像使用window系统一样,记住这些命令可以使我们更好的使用这个系统。这次的内容相比前两次还是有很多不同的,尤其是今天的内容,太多是之前没有提到过而今天第一次接触的,有种眼前一亮的感觉。
more:分屏显示
例: more /etc/passwd more +5 /etc/passwd :从第五行开始显示
head:显示前面的行
例:head -n 5 /etc/passwd:显示前5行
tail:显示后面的行
例:tail -n 5 /etc/passwd:显示后5行
alias:设置别名
alias 别名="命令"
例:alias ii='ls -l'
取消设置:
unalias 别名
例:unalias ii
永久有效:
vim ~/.bashrc
添加一行
alias ii='ls -l'\
文本操作命令
grep:查找匹配的关键字
grep: root 1.c:表示从1.c中查找匹配root字符串的行
grep -v root 1.c:表示显示不含有root关键字的行
grep -w root 1.c:表示查找匹配root的字符串
grep -i root 1.c:表示不区分大小写去查找含有该字符串的行
uniq:去掉重复的行
uniq 1.c:显示文本数据,但相邻的重复的行只显示一行
uniq -u 1.c:只显示相邻的不重复的所有的行
uniq -c 1.c:唯一的显示多行数据,前面显示每一行拥有的相邻的相同行数
wc:统计行数,单词数,字符数
-l:统计行
-w:统计单词
-c:统计字符
例:wc -l /etc/passwd
wc -c /etc/passwd
wc -w /etc/passwd
wc -lwc /etc/passwd
tr:替换
cat 1.c | tr 'a-z' 'A-Z'(只是如此显示,源文件并没有发生改变)
简单加密:
例:echo world | tr "olwrd" "along"
file:查看文件的类型
file filename
cal:显示当前日历
cal year:显示整个年份的日历 例:cal 2017
cal month year:显示某年某月的日历 例:cal 10 2017
date:显示时间
设置时间:sudo date -s 4:47 时间设置为4:47
find:查找文件
格式:find[路径][option]filename
例:sudo find /etc/ -name legal
sudo find ~ -name 1.c 在宿主目录下所有文件夹中找1.c
压缩和解压缩
window:.zip .rar
linux:.gz →gzip .bz2 →bzip2
gzip压缩:(可以同时压缩多个文件)
格式:gzip filename1 filename2... 压缩成功之后源文件会消失,新文件为.gz为后缀的文件
例:gzip 1.c
解压:(可以同时解压缩多个文件)
格式:gzip -d filename1.gz filename2.gz... 解压成功之后源文件也会消失
例:gzip -d 1.c.gz
注:用什么命令压缩的文件就用什么命令解压缩
保留源文件的压缩:(仅限单个文件)
格式:gzip -c filename>newname.gz
保留源文件的解压缩:(仅限单个文件)
格式:gzip -cd filename.gz>newname
bzip2压缩:(可以同时压缩多个文件)
格式:bzip2 -z filename 成功,源文件会消失
解压缩:(可以同时解压缩多个文件)
格式:bzip2 -d filename.bz2 成功,源文件会消失
保留源文件的压缩和解压缩:
格式:bzip2 -cz filename>newname.bz2
bzip2 -cd filename.bz2>newname
tar:打包(归档),打包文件的后缀为.tar
对一个文件夹压缩之前必须打包
例:对文件和目录进行打包
tar cf myfile.tar files
对文件和目录进行打包压缩
tar cfz myfile.tar.gz files
查看打包压缩文件中的目录列表
tar tfz myfilename.tar.gz
查看打包文件中的目录列表
tar tf myfile.tar
恢复打包文件
tar xf myfile.tar
恢复打包压缩文件
tar xfz myfile.tar.gz
恢复打包压缩文件到指定的目录
tar xfz myfile.tar.gz -C dir
zip:保留源文件的压缩一个或多个文件
例:zip filename.zip filename 压缩filename为filename.zip
zip filename.zip filename1 filename2...
zip [-r] mydir.zip mydir 压缩文件mydir为mydir.zip 加上-r会显示具体的压缩内容
unzip:保留原文件解压由zip生成的压缩文件
1.解压单个文件或文件夹(不能同事对多个文件进行解压缩)
例:unzip filename.zip 如:unzip 1.zip
zcat:查看压缩文件里的内容
例:zcat filename.zip
进程操作
程序的一次执行就是一个进程
ps:显示进程的动态
ps -au:显示较详细的进程资讯
top:显示当前系统的进程(动态刷新)
top -d m:每隔m秒刷新一次进程
按q退出
pstree:将所有的进程以树状图的形式显示
pstree -a:以树状图的形式显示正在运行的进程
pstree -c:如果有重复的进程的名字分开列出
kill:用来终止进程
kill + PID:杀死该PID对应的进程
kill -9 PID:强杀
网络管理
ifconfig:显示当前主机中状态为活动的网络接口的信息
注:eth0:显示的是第一块以太网卡,有线接口
wlan0:显示第一块无线网卡,无线接口
l0:表示主机的回环地址,这个一般是用来测试网络但又不想让局域网或外网的用户看到,只在此台主机上运行或查看用的
ifconfig: +网卡名:查看指定的网卡信息
ping:测试2个主机之间网络的连通性
格式:ping + 网址/ip地址
例:ping www.baidu.com
ping 192.168.1.2
限制ping的次数
ping www.baidu.com -c n次
vim编辑器,用来写代码的
vi文本编辑器,vim比vi更高级
安装vim:
sudo apt-get update:更新软件源
sudo apt-get install vim
配置vim:
sudo vim /etc/vim/vimrc 修改vim的配置文件
按shift+g切换到最后一行
添加:
set nu //在左侧显示行号
set tabstop=4 //tab的长度设置为4
set nobackup //覆盖文件的时候不备份文件
set cursorline //突出显示当前行
set ruler //在右下角显示光标位置的状态行
set autoindent //自动缩进
set mouse=a //鼠标在vim下可用
vim打开文件的方式:
vim + 文件名:打开一个文件,如果文件不存在则会自动建立这个文件,当你保存退出的时候
vim -o filename1 filename2...:以水平分割的方式打开多个文件
vim -o *.c *.h:以水平分割的方式打开当前目录下所有的.c和.h文件
vim -O filename1 filename2...:以垂直分割的方式打开多个文件
vim -O *.c *.h:以垂直分割的方式打开当前目录下所有的.c和.h文件
vim 1.c 2.c:在缓存中同时打开2个文件,但每次只显示一个文件,":n"在文件间向下切换,":N"向上切换
vim的三种工作模式:
1.一般模式:vim打开文件进去之后的模式
2.编辑模式:左下角有"插入"字样的模式,写代码的模式
3.命令行模式:左下角有":"的模式
三者之间如何切换:
一般模式→编辑模式
i o s a I O S A
编辑模式→命令行模式
按esc回到一般模式→":"→命令行模式 例: :wq 保存退出
一般模式
删除:
dd:删除光标所在行
ndd:删除光标所在行和之后的共n行
dw:删除从光标处开始到下一个单词之间的所有字符
d$:删除当前位置到行尾
d^:删除当前位置到行首之间的所有字符
dG:删除光标所在行到文件尾
dgg:删除光标所在的行到文件首
u:撤销上一次的操作,连续按就撤销多次
复制:
yy:复制光标所在行
p:粘贴,贴在光标所在行之后
nyy:复制包括光标所在行之后的共n行
yw:复制一个单词,从光标处到单词的结束
可视化操作:
1.可视字符:
v→方向键选中字符→y(复制)→移动光标到某处→p(粘贴)
2.可视行:(常用)
shift+v→方向键选中→y(复制)→移动光标到某处→p(粘贴)
3.可视块:
ctrl+v→方向键选中→y(复制)→移动光标到某处→p(粘贴)
剪切粘贴:
dd→p:剪切光标所在行并粘贴到某处
ndd→p:剪切光标所在行一下共n行
编辑模式:
i o s a I O S A
注:按不同的键进入编辑模式则会在不同的位置插入数据
命令行模式:
:w 保存
:q 退出
:wq 保存退出
:q! 强制退出
:set nu 临时显示行号
:set nonu 取消临时显示
:wqa 保存退出所有文件
垂直分割:
vim -O 1.c 2.c...
:vs/vsp/vsplit filename
水平分割:
vim -o 1.c 2.c...
:sp/spl/split filename
查找:
:/key key是要找的关键字
按n表示由上到下继续查找
按N表示由下到上继续查找
:?key
按n表示由下到上继续查找
按N表示由上到下继续查找
替换:
格式: :范围s/old/new/参数
范围:
%:表示全文
$:表示最后一行
例:
:%s/root/admin/ 表示全文用admin替换每一行的第一个root
:1,3s/root/admin 表示替换第一行到第三行的第一个关键字
参数:
g:表示全部替换
i:表示不区分大小写替换
c:提示
例:
:n1,n2s/world1/world2/g 把n1与n2之间的所有world1替换成world2
:1,$s/world1/world2/gc 把1到最后一行的world1都替换成world2,在替换之前都有提示
加密:
:X
取消加密:
:set key=