C高级笔记2

练习

在工作目录下创建目录shared和shared1

mkdir shared shared1

在shared1目录中创建9个子目录a1-a9

cd shared1/

mkdir a{1..9}

在a5中创建3个文件file1-file3

cd a5/ 

touch file{1..3}

在shared目录中创建两个目录old和new

cd~/shared/

mkdir old new

将shared目录更名为back

cd~

mv shared back

拷贝/usr/include/stdio.h 到old内

cp /usr/include/stdio.h  back/old/

移动shared1目录到back目录内 删除a1-a4 a6-a9
mv shared1/  back/

rm -r back/shared1/a[^5]

将a5目录改名为front 并移动到new目录内

mv back/shared1/a5  back/new/front

文件管理

查找文件

find

查找格式:  find 路径 选项 选项值

示例: find /usr -name stdlib.h

 find是搜索每个文件夹,速度慢

查找任意文件

with

查找可执行文件,一般用来查找命令

(相比较而言,查找速度快。因为which 只在指定的路径下查找,查找的是可执行文件)

which并不是在路径里搜索文件,它是去环境变量里找。

 环境变量:就是一些可执行文件的路径,系统是通过环境变量找到可执行文件。

如果系统环境变量中没有配置ls和which的路径,那么在执行ls和vi命令的时候将会失败。

示例:which ls

locate

sudo updatedb

 locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。

 locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,

 所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库

练习

使用不同的办法,找到 unistd.h 文件、 ps 可执行文件、 passwd 文件 所在位置。

find /usr -name unistd.h
which ps
locate password

压缩文件

tar 

压缩: tar cvfz dir.tar.gz dir

解压缩: tar xvfz dir.tar.gz

tar xzvf test809.tar.gz -C test 解压到指定路径下

c 创建解压文件 

x 解压缩

v 显示压缩过程

f 将多个文件打包生成一个文件

z 以gzip格式压缩

练习

将 dir4 压缩为dir.tar.gz 文件 显示压缩过程

tar cvfz dir.tar.gz dir4

将 dir4 压缩为dir.tar.gz 文件 不显示压缩过程

tar cfz dir.tar.gz dir4

将 newdir.tar.gz 解压到当前文件夹(显示解压过程)

tar xvfz newdir.tar.gz

将 newdir.tar.gz 解压到桌面 (不显示解压过程)

tar xfz newdir.tar.gz -C Desktop

将工作目录下的 Desktop 目录压缩。 然后将压缩文件移动到新建的newdir 下。 然后在此目录下,解压文件。

tar cvfz files.tar.gz Desktop

mkdir newdir

mv files.tar.gz newdir

tar xvfz files.tar.gz

链接文件

ln 

建立硬链接; ln an.c an.bak       根据物理编号inode节点,建立链接

an.c an.bak 具有相同的inode节点

创建文件的时候,文件名就是一个硬链接

touch a.c 

//a.c会成为这个文件的第一个硬链接
//文件的本质是数据,我们需要通过链接访问这些数据

ln a.c an.bak

ln a.c ann.bak

练习

1.创建了一个a.c的文件 添加点东西
2.为a.c 建立2个英链接文件 an.bak ann.bak

touch a.c 

ln a.c an.bak

ln a.c ann.bak

创建后 此时文件有3个节点
此时查看 an.bak ann.bak 文件 和 a.c文件相同
3.修改a.c的文件 查看硬链接文件 发现也修改了

cat an.bak

cat ann.bak

 4.修改an.bak文件 发现a.c 和ann.bak 也进行了修改

cat a.c
cat 
ann.bak

5.删除an.bak 查看文件是否有影响

(没有影响)

 6.删除a.c 查看ann.bak是否有影响
(没有影响)

删除所有的文件已经硬连接文件,文件消失

建立软链接: ln -s an.c an.lnk   根据路径 建立连接

软连接:

1. 创建一个文件  为文件创建一个软连接
ln -s b.c bn.lnk
2. 修改b.c
3. 如果删除b.c 软连接失效

硬链接文件,相当于一个实时备份文件。 同时,文件的链接数+1 。 如果想删除文件,需要删除所有的索引域。

索引域为0时,数据域才真正的被删除。如果文件多于1个索引。 而只删除了其中一个索引。文件的数据域并不会丢失。

软链接文件:相当于一个快捷方式。 它并不会增加文件的链接数。 是一个独立的快捷方式。 如果源文件被删除掉,这个文件就真的被删除掉了。 此时软链接文件失效。 只要在原来的路径下,创建相同名字的文件,则软链接文件重新生效 。

管道符

|

作用: 前一个命令的输出,作为第二个命令的输入。

grep 在文本中查找关键字

cat test.c|grep for 查看test.c的内容,将查找到的内容作为grep的输入。

管道符的作用,将cat test.c的输出作为输入传给grep命令,grep命令会在输入中查找for关键字

cat test.c | grep include

练习

查找根目录下是否存在 etc 这个文件。

ls / | grep etc

查找 /etc 下是否存在 passwd 这个文件。

ls /etc | grep passwd

查找 所有进程中是否存在 bash 这个进程。

ps aux | grep bash

查找 /etc/passwd 文件中,是否存在 deamon 这个用户。

cat /etc/passwd | grep deamon

重定向符号

把本应该输出的内容,放到文件里

>

>>

>重定向 会覆盖原来的内容

>> 追加重定向 会在原有内容的后面追加新内容

示例: ls / > file.txt

创建一个文件,note.txt
touch note.txt
向文件中写入hello
echo hello >> note.txt

网络管理

查看网络配置

ifconfig

eth0 :

第一块物理网卡

Ethernet :以太网

HWaddr 00:0c:29:82:8f:99 物理地址

inet addr:192.168.30.234 ipv4 地址

Bcast:192.168.30.255 广播地址

Mask:255.255.255.0 子网掩码

inet6 addr: fe80::20c:29ff:fe82:8f99/64 ipv6 地址

Local Loopback 本地环回

inet addr:127.0.0.1 本地环回地址

修改ip命令

sudo ifconfig ech0 192.168.40.199

ip地址就是我们的计算机在网络上的身份标识。

ip本质上不是地址,而是一种底层的网络协议,ip地址是基于这种网络协议的地址。

ping 测试连通性

ping 192.168.40.101

这个命令的目的是测试网络是否通畅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值