首先感谢一下我的老师,他督促我完成拟定的学习计划,并讲解教学了学习内容。
管道
管道是一种父子进程间,数据传递的机制,数据只能在一个方向上流动。
管道命令使用|作为界定符号,|前的结果为|后的输入值。
把atxt1的文档内容加上行号后输入atxt2这个文档里
cat -n atxt1 > atxt2
把atxt1和atxt2的文档内容加上行号(空白行不加)之后将内容附加到atxt3文档里
cat -b atxt1 atxt2 >> atxt3
打印atxt文件中以;为分隔符的第0个字段和第1个字段
cat atxt | cut -d ';' -f 0,1
打印atxt文件中包含abc的行并带上行号
cat -n atxt | grep abc
查找atxt文件中包含abc的行
grep abc atxt
反向查找文件名包含atxt的文件中不包含abc的行
grep -v abc *atxt*
打印atxt文件的最前10行
head atxt
显示文件前 20 个字节:
head -c 20 atxt
取atxt第777行到887行的数据
head -887 atxt | tail 100
打印atxt文件的最后10行
tail atxt
打印atxt的内容,从第777行至文件末尾
tail +777 atxt
打印atxt最后10行,当文件有更新时继续打印
tail -f atxt
目前我比较常用的有cat、grep、head、tail。
语法格式
cat [-AbeEnstTuv] [--help] [--version] fileName
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
head [参数] [文件]
tail [参数] [文件]
还有很多现在没有用到的,放资料链接LINUX管道命令。
文件管理
Linux的目录结构为树状结构,最高的目录为根目录 / 。
Linux是多用户系统,不同的用户拥有不同的权限。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]。
常用命令:
- ls / ll: 列出目录及文件名
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录
- rm: 移除文件或目录
- mv: 移动文件与目录,或修改文件与目录的名称
- cd:切换目录
- cp: 复制文件或目录
将根目录下所有的文件都列出来
ls -al /
显示当前路径
pwd
创建A这个新目录
mkdir A
创建多级目录
mkdir -p A1/A2/A3
删除空目录A
rmdir A/
删除atxt文件/目录
rm -i atxt
将atxt文件移动到A目录下
mv atxt A
把目录A改名为B
mv A B
切换到A目录
cd /A
切换到上一级
cd ../
拷贝atxt文件到B文件下
cp /A/atxt B
文本查看/编辑操作
head、tail、cat第一块已经记录过了。下面主要记录less、more、tac、vim。
一页页翻动atxt
less atxt
more atxt
atxt文件内容从最后一行开始显示
tac atxt
创建一个不存在文件atxt或者编辑已经存在的文件atxt
vim atxt
more 和 less的区别:
- less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
- less不必读整个文件,加载速度会比more更快
- less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容
vim分三种模式,命令模式(Command mode)、输入模式(Insert mode)、底线命令模式(Last line mode)。
命令模式
刚启动vim时便是命令模式。
常用命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
输入模式
在命令模式下按下i就进入了输入模式。
常用按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
常用命令有(已经省略了冒号):
- q 退出程序
- w 保存文件
- ESC键,退出底线命令模式。
除了以上还有一些零散的笔记,随意放置一下
runlevel 查看当前模式
init 3 切到字符模式
init 5 切到图形模式
startx 开启图形界面,不是切换
chvt 数字 切换到第几个虚拟终端
echo $PS1 显示当前提示符如[root@centos6 ~]# 的格式[\u@\h \w]\$
nano /etc/profile.d/env.sh 添加提示符格式
不同的sh集成的内部命令不一定相同
yes hello 不断在控制台输入hello
/etc/bash
enable 显示bash所有内部命令
enable -n type 禁用type
date 显示时间
ntpdate x.x.x.x 和该ip远程主机同步
hash 显示缓存
hash -l 显示hash缓存
hash -p path name 将命令全路径path 起别名为name
hash -t name 打印缓存中name的路径
hash -d name 清除name缓存
hash -r 清除缓存
which who 查看who这个外部命令的路径
whereis who 查看who这个外部命令的路径和帮助文档的路径
alias name="cd /etc/" 将这个路径设为这个别名name
alias name 查看别名name的内容
内部命令>外部命令
echo "hello" 打印hello
unalias name 删除name别名
type echo 查看echo的类型 外部 内部
'ls' 使用原始命令ls
which --skip-alias ls 查看在文件系统路径下有对应的而可执行程序文件的路径
AOMMAND [OPTIONS...] [ARGUMENTS...] 命令格式
-单个字母 短选项
--单词 长选项
ctrl+D 退出命令(正常)
crtl+C 强制退出命令(易丢失数据)
man type 查看type命令的帮助文档