ln命令 主要用于产生命令,创建链接
ls -s source_file destination
创建硬链接
ln file1 file2
当对某个文件创建硬链接时,硬链接数会增加
ls -l -rw-rw-r– 2 arts arts 15 7月 17 09:59 a.txt
-rw-rw-r– 2 arts arts 15 7月 17 09:59 a.txt.hln
不占空间
不可以跨文件系统进行链接
不可以对目录进行了链接
何时被释放? 软链接,当文件被删除时释放。硬链接数为0的时候真正释放数据块
创建软链接
ln -s file1 file2 加-s表示创建的是软链接soft
需占用空间来存放路径信息
软链接操作的时候保存的是一个路径信息。
可以跨文件系统进行链接
man 、–help 、info命令查看帮助手册
man name
spacebar 空格。滚动一屏幕
return 回车
q 退出
/string 搜索
n
man -k keyword 检索关键字
ls –help 查看简单的帮助信息
info
匹配符
ls d* * 匹配零个或者多个字符
ls d? 匹配一个字符
ls [b-f]b* 匹配一个集合或者和一个连续的字符
;用于分隔多个命令
date 显示时间
cal 日历
lp 打印
> 重定向,一般是把文本内容放到文件里面去 ↔
>> 输出重定向追加类型、2> 错误重定向,标准错误输出、> 输出重定向、 < 输入重定向
cat 无参数时,标准输入–>标准输入
cat > file 表示修改cat输出的定向,定向到文件
cat <file 表示标准输入定向到文件里面,不改变标准输入,把文件输出到标准输出
cat < file1 >file2 把file1文件里的内容放到fiel2里面去。
cat /etc/passwd;ls -l /etc/;ln /etc/./etc.ln 2> err.log
more 命令
用于显示信息,一次显示一屏
词典:goldendic 附加词库即可用
Text Operating
cat 命令
cat /dev/null > ./a.txt null : 空洞 所以次操作表示清空a.txt里面的内容
zero:填充0
awk -F:'{print $1 “\t” $6}’ | sort >
awk -F 以后面的符号来分割内容,也就是冒号,后面表示打印第一项,和第六项的内容,
\
1、表示赚义字符
2、表示续行字符,续行后不能跟空格,需要直接加回车
\+空格 = 空格
sort 排序
cat a.txt | awk -F\ ‘{print $1 “\t” $3}’
head & tail 显示前10或者后10行命令
head -n filename 显示前n行
tail -n filename 显示末尾n行
uniq 命令 跳过重复的行,但是不改变源文件
uniq filename
diff 比较两个文件的不同之处,然后以列表的形式显示
a.txt:a a b a a
b.txt:a a a a a
diff a.tx b.txt
>
3c3 表示第三行change c:表示改变 a:表示增加 d:表示缺少
< b 表示地一个文件为b
— 分隔两个文件
> a 表示第二个文件为a
diff -u 表示合并模式 diff -u a.txt b.txt 表示a.txt 为主体 b.txt 为客体
— a.txt 2013-07-17 14:24:14.485963439 +0800
+++ b.txt 2013-07-17 14:24:39.537962699 +0800
@@ -1,5 +1,5 @@
a
a
-b
+a
a
a
echo 命令 拷贝任意所输入到命令行的东西
echo -option message
eho “hellp word“
echo -e “hello \t word” —识别转义字符
echo –n “hello word” —跳过输出换行
script 记录所有的或者一部分的会话,包括你的输入和系统的回应
script -a filename
()使用小括号封装成小SHELL 命令
(head /etc/passwd;tail /etc/passwd) | awk -F: ‘{print $1 “\t” $3}’|cat > ./userinfo1
小括号里面的命令会被有限执行,输出结果被当作一个整体使用。
VI文本编辑器
命令模式
命令模式
输入模式
vi filename :open or createa file
vi :
i:在光标当前位置前插入
a:在光标所在位置后插入
o:在光标所在行下插入一空行
O:上一行起一个空行
I:自动跳到行首
A:自动跳到行尾
删除
x:删除一个字符
dw:删除一个词
u:撤销
3dw:删除三个次
dd:删除一个行
2dd:删除两个行 ndd
:5,10d:在命令行模式下执行,删除第五行到第十行内容
替换
r:替换一个字符
cw:替换一个单词先删除,自动进入插入模式
cc:替换一行
C:替换从光标到行尾
复制和拷贝
yw 拷贝词
yy 拷贝行
p 当前行粘贴
3yw 复制多行
:1,20co3 拷贝行1到20在行3之后
:3,4移动行3到行5在行6之后
撤销
u undo
ctrl +r
设置行号
:set nu
保存文件
:w 存盘
:w newfile 存成新文件
:wq 存盘退出vi
:q! 强制退出
shift zz 自动保存退出
简单操作
~改变大小写
J 把当前行和下一行连起来
u 废除刚才的编辑操作
:set nu 显示行号永久显示行号需要修改配置文件 vi ~/.vimrc
:21光标停在21行
21G/gg光标停在制定行(gg,G文件尾)
50zz 跳一半空的上来
shift + G 到行尾 ,gg 直接跳到行首
ctrl +f 跳转一页
ctrl +b 上一页
w(web) 下一个词的词首
e 下一个次的词尾
b 上一个词
查找
/从当前行向下查找
?从当前行向上查找
n 查找继续
:nohl 取消高亮
:r /etc/passwd 在光标位置插入另外一个文件 必须与可读权限
:l,$s/旧串/新串/g 替换全文
$ 表示末尾行
% 表示全文
VI 可视模式——类似鼠标框选
字符 v 命令模式进入
行 V 命令模式进入
VI 分栏模式
水平 :split finame vp
垂直: vsplit finame vs
ctrl +ww 切换分栏
ctrl +w 加方向键
:wqa 保存全部并退出
:qa!全部强制退出
gcc编译
附注: 使用 -std=c99 或 -std=gnu99 来编译您的代码