认识c
面向过程,也称为函数语言,精髓在于指针,操控内存。
学前准备
Linux + Ubuntu(免费,开源,稳定)+Vmware虚拟机
Linux根目录下默认目录
/bin: 存放必要的二进制执行文件,这些文件在单用户模式下也必须可用,且通常由所有用户 使用,如ls, cp等。
/boot: 包含启动Linux系统所需文件,如内核(vmlinuz)引导加载程序配置。
/dev: 包含设备文件,这些文件代表系统中的硬件设备,如dev/sda(硬盘),dev/tty(终端)。
/etc: 存放系统配置文件,这些文件通常由系统管理员编辑,如etc/passwd。
/home: 通常为系统用户提供的个人存储目录,每个用户在home下有一个与用户名相对应的 目录。
/lib: 包含系统最基本的库文件和内核模块,这些文件支持位于/bin和/sbin目录下的二进制文件
/media: 用于挂载可移动媒体设备,如CD-ROMs,USB驱动器等。
/mnt: 通常用于临时挂载文件系统。
/opt: 用于存放可选的应用软件包和数据文件。
/proc: 一个虚拟文件系统,提供对内核和进程信息的接口,如proc/cpuinfo显示cpu信息。
/root: 系统管理员的家目录(root用户的家目录)。
/sbin: 存放系统管理程序,这些程序通常由root用户使用,如fdisk,ifconfig。
/srv: 包含一些服务启动后需要的数据。
/sys: 一个虚拟文件系统,用于与内核通信,提供系统和设备信息。
/tmp: 用于存放临时文件,系统重启时通常会被清空。
/usr: 包含和用户程序和数据,是Unix system Resources的缩写,包含多用户应用程序、 库、文档等。
/var: 用于存放经常变化的文件,如日志、邮件和打印队列等。
七种文件类型,文件权限
bcd-lsp
b:块设备文件;
c:字符设备文件;
d:目录文件;
-:普通文件;
l:链接文件;
s:套接字文件;用于网络传输
p:管道文件,用于进程间通信:IO进程、线程接触
文件权限
r:读权限 w:写权限 x:可执行权限 -:不具备权限
r-x: 可读不可写可执行权限
八进制认识
rwx: 111 ----> 1*2^2+1*2^1+1*2^0
r:4 w:2 x:1 -:0
rwxr-xr-x --->0755
文件的默认权限是:0664
Linux相关简单指令
格式:指令名【选项】【参数】
man手册:例如:man 1 ls (1是章节号,省略就是默认查询章节1)
1.ls
功能:查看目录以及文件的详细内容
ls 查看当前目录下的内容
ls xxx 查看当前目录下的xxx目录下的内容
ls -a 查看所有文件包含隐藏文件
ls -l 使用长列表查看当前目录下的所有内容并展示详细信息
ls -lh 同上,增加KMG单位进行显示
2.chmod
字母修改:+ - =
权限:r:可读 w:写 x:可执行 -:不具备权限
权限组合:
文件所属用户user:u
文件所属用户组group:g
其他用户other:o
所有用户all:a
例如当前列子:
drwxr-xr-x 2 ubuntu ubuntu 4.0K 4月 15 23:55 Pictures
chmod u-x Picture 修改P目录删除用户对应的x(可执行)权限
chmod g+w Pxxx 修改P目录添加用户组对应的w(可写)权限
chmod o=r-- Pxxx 修改P目录其他用户对应的(可读不可写不可执行)权限
chomd u-r,g+w,o+w Pxxxx
八进制修改:
r:4 w:2 x:1 -:0
chmod 755 Pxxx 修改用户为rwx 用户组为r-x 其他用户为r-x
chmod 5 Pxxx <=====> chmod 005 Pxx
3.touch
功能:创建文件
注意:touch创建文件不识别后缀名,当文件存在时会跟新时间戳
touch 文件名 在当前目录下创建文件
touch 文件名1 文件2 .... 在当前目录下创建多个文件
touch ~/Pictures/file 在指定路径下创建文件
4.mkdir
功能:创建目录
mkdir dir1 dir2... 在当前目录下创建一个或多个目录 平级目录
mkdir dir1/dir2/dir3... -p 如果目录存在则忽略,否则创建dir1/dir2/dir3 层级目录
5.rmdir
功能:删除空目录,不可以删除文件(极少使用)
rmdir 目录1 目录2 .... 删除当前目录下的一个或多个空目录
rmdir dir1/dir2/dir3 只删除当前目录dir3
rmdir dir1/dir2/dir3 -p 删除dir1 dir2 dir3
6.rm
作用:删除文件,删除目录
rm file1 file2 .... 删除当前目录下的一个或多个文件
rm dir1 dir2 ... -r 删除一个或多个目录
rm dir1/dir2/dir3 -r 只删除最后一个dir3
7.echo
作用:输出,类似c语言中的printf
echo 字符串 --》echo hello world
echo '字符串' --》echo 'hello world'
echo "字符串" --》echo "hello world"
echo -n 字符串 取消换行在终端回显
echo -e "\t字符串" 使转义字符起效果(-e)
8.cat
作用:在终端回显文件内容
cat 文件名 在终端回显文件内容
cat -n 文件名 回显文件内容包含行号
9.重定向 > >>
> 单向重定向:覆盖
>> 双向重定向:追加
单向重定向 > 覆盖:删除原内容,替换新内容
echo hello > file
如果文件file不存在,则创建文件,把字符串写入到文件中
如果文件file存在,把字符串覆盖原文件内容,修改时间戳
cat f1 > f2
如果文件f2不存在,则创建f2,把f1文件内容写入到f2中
如果文件f2存在,把f1文件内容覆盖f2文件,修改时间戳
双向重定向 >> 追加:在文件的后面添加新内容
echo hello >> file
如果文件file不存在,则创建文件,把字符串追加到文件中
如果文件file存在,把字符串追加原文件内容后面,修改时间戳
cat f1 >> f2
如果文件f2不存在,则创建f2,把f1文件内容追加到f2中
如果文件f2存在,把f1文件内容追加f2文件后面,修改时间戳
10.cp
作用:文件或目录的拷贝
文件拷贝文件
cp f1 f2 把文件f1拷贝给f2
f2不存在,拷贝文件f1,命名为f2
f2存在,拷贝文件f1,命名为f2,替换原来文件
文件拷贝目录 文件和目录都存在
cp f1 dir1
如果dir1中不存在同名文件,把f1文件拷贝一份,存到dir1目录中
如果dir1中存在同名文件,把f1文件拷贝一份,存到dir1目录中,替换同名文件
目录拷贝目录
cp dir1 dir2 -r
如果dir2不存在,把dir1拷贝一份,命名为dir2
如果dir2存在且不存在同名目录,把dir1拷贝一份存到dir2中
如果dir2存在且存在同名目录,把dir1拷贝一份存到dir2中,替换原目录
当把一个空目录替换一个非空目录时,不会发生替换
11.mv
作用:剪切,重命名
文件剪切文件
mv f1 f2 把文件f1重名为f2
f2不存在,文件f1重命名为f2
f2存在,文件f1重命名为f2,替换原来文件
文件剪切目录 文件和目录都存在
mv f1 dir1
如果dir1中不存在同名文件,把f1文件剪切到dir1目录中
如果dir1中存在同名文件,把f1剪切到dir1目录中,替换同名文件
目录剪切目录
mv dir1 dir2
如果dir2不存在,把dir1重命名为dir2
如果dir2存在且不存在同名目录,把dir1剪切存到dir2中
如果dir2存在且存在同名目录,
1.dir1非空 ,dir2中同名目录空,替换原目录
2.dir1非空 ,dir2中同名目录非空,剪切失败报错
3.dir1空 ,dir2中同名目录非空,剪切失败报错
4.dir1空 ,dir2中同名目录空,替换原目录
12.cd
作用:切换目录
cd ---> cd ~ 默认回到家目录
cd 指定路径 切换到指定路径下
cd . 切换到当前目录下
cd .. 回到上一级目录
cd - 回到上一次操作指令的路径
13.pwd
作用:在终端回显当前路径的绝对路径
14.whoami
作用:查看当前用户