linux 学习笔记 二

ln命令 主要用于产生命令,创建链接

ls -s source_file destination

创建硬链接

ln file1 file2

当对某个文件创建硬链接时,硬链接数会增加

ls -l -rw-rw-r– 2 arts arts 15 717 09:59 a.txt

-rw-rw-r– 2 arts arts 15 717 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.txta a b a a

b.txta 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 复制多行

:120co3 拷贝行120在行3之后

:34移动行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 来编译您的代码

linux 学习笔记 一

1、文件系统

Opt 第三方软件

Dev 设备文件

etc 配置文件

proc 进程目录

root root到家目录

2、登录

sudo login 登录

logout 登出

passwd 修改密码

3etc里面到两个文件

/etc/passwd 账户信息文件

root:x:0:0:root:/root:/bin/bash

 

用户名:密码:UIDGID:用户信息备注:用户家目录:用户SHELL信息

 

UID:用户到ID号,用于唯一区别某一个用户

GID:用户组到ID号,用户唯一ID

/etc/shadow :放密码

 

散列算法:把非固定长度到一串字符从加密成一串固定长度到一串字符串

 

 

4Linux基本命令行

clear 清屏命令

cd 目录切换命令,工作路径切换

pwd 显示当工作前目录

. 代表当前目录

.. 代表返上一级目录

/ 代表根目录

~当前用户的工作目录

回当前用户到工作目录的方式

cd ~

cd /home/xxxx

cd [enter]

ls 显示当前目录下到文件

-a 显示隐藏到文件以.”开头到文件即为隐藏文件,图形界面使用ctrl+H查看

-R 递归的显示目录下到所有到文件信息

-t 以时间戳来排序,默认为最后修改时间

-l 显示详细到信息

-h 长类型显示

-F 显示文件类型

-d 针对目录查看它本身

 

 

 

5、文件到详细属性

七大文件类型

 

普通文件

d 目录文件 directory

b 块设备文件 block IO 操作到时候是一块一块到做

c 字符设备文件 character IO操作到时候到以字符做

s 套接字文件 Socket

l 符号链接文件 linkage

p 管道文件 pipe

 

 

-rw-rw-r– 1 arts arts 11264 716 11:46 emsd1302-doc0-上课记录-20130716-0-lianggm.doc

 

 

权限位

 

rwx rwx rwx

拥有者权限同组人权限其他人权限

rread

wwrite

xexecute 可执行

无此权限

s 例如/usr/bin/passwd

S 表示有有s位,没有可执行权限也就是没有x权限

 

身份分为两种

运行身份 zhangsn

有效身份 root

权限中到S权限位,表示将用户运行此程序时到有效身份提升为此拥有者

1 代表硬链接数

 

11264 代表文件大小以字节表示,在计算机内存中只有二进制

 

 

bit 0-1

8bit → Byte字节

1024Byte → 1KB

KB → MB → GB → TB

 

 

file filename 显示文件到类型

 

 

chmod 修改权限命令

chmod u+,g+,o+,a+

[who op permission]

u,g,o,a =,-,+ r,w,x

4 Read

2 Write

1 Execute

 

权限修改权限

可以修改此文件权限的

1.root

2.文件拥有者

 

octal mode 八进制

touch 创建文件,更新最后修改时间,也就是更新时间戳

 

mkdir 创建目录

mkdir -p /dir1/dir2/dir3 递归创建目录

mkdir ~/dir 在家目录下创建目录

 

 

 

Copy file cp 拷贝命令

 

cp -i source_file(s) destination_dirctory

 

cp file1 file2

file2:文件

 

file2存在,覆盖

file2不存做,创建新文件,名为file2

file2:目录

把之前所有到文件拷贝到此目录下

 

cp -i file1 file2 如果存在file2则回提示说要不要覆盖,-i即表示覆盖到提示信息

cp dir1 dir2 dir3 dir4 dir dir1 2 3 4 全部都拷贝到dir

cp -r dir1 dir2 把目录dir1中的文件全部拷贝到dir2目录 -r代表递归到拷贝目录

所包含到所有文件

拷贝多个文件时,目的地必须是目录

cat命令

cat>a.txt 重定向

ctrl+d 没有回车也会写入,结束当前操作

ctrl+c 没有回车不会写入

 

mv 命令,重命名

mv -i source_file destination_file 类似CP 命令

mv file1 file2

1、在同一个目录下

file2不存在,产生重命名操作 mv a.txt b.txt 最后只剩下b.txt

file2存在,mv b.txt passwd passwd变成了b.txt里面到内容 b.txt被剪切掉了

 

2、不再同一个目录下

mv dir1 dir2

dir2存在,dir1会被移动至dir2下变成字目录

dir2不存在,dir1回被重命名为dir2

 

rm 命令,删除命令

rmdir 删除空目录

rm -i 给出提示

rm ~ 删除家

rm -f 强制删除

rm *.txt 删除所有以 .txt结尾的文件

 

gzipbzip2zip压缩命令

gzip 打包生成gz文件

bzip 打包生成bz2文件

以上两个只能把单个文件变为单个文件,不带打包功能

文件一被压缩后,源文件不在,被解压后压缩文件就不在了

bzip2

gunzipbunzip2解压文件命令

把压缩文件解压为文件,压缩文件将消失

 

 

zip 命令

zip 压缩文件,带打包功能。

Zip my.zip a.txt b.txt c.txt d.txt

查看是否是zip包,用file命令查看

unzip 会把文件加压到当前目录下,要制定目录则用 unzip -d 制定目录名

unzip my.zip -d dir1

 

 

tar打包命令

tar [cvf] packge_name finame(s)

cvf表示创建

 

[v] 显示信息,压缩解压时的文件信息

[f] 制定操作的设备,也就是操作的文件(必须放在最后)

 

[c] 打包

[x] 解包

 

[j] bz2方式压缩

[z] gz方式压缩

 

[t] 查看包文件内容

[u] 更新包文件

 

-C 指定解压包路径

tar xvf all.tar -C xxxx