目录
????linux:当前登录的用户
????ubuntu:当前主机名
????~:当前所在的目录
? ? 其中用户分为两类:
????????????1.普通用户:权限会受限制
????????????????可以有多个,也可以一个没有,名字没有限制
????????????2.超级用户:权限不受限制
????????????????有且只有一个,名字为?root?
Linux系统目录结构:
????最顶层目录:?
????????根目录??/
????????根目录下存放系统相关的文件
????????????bin?存放二进制文件
????????????etc?存放配置文件
????????????lib?库文件
????????????root?超级用户的家目录
????????????var?存放日志文件
????????????boot?存放启动代码
????????????dev?存放设备文件
????????????home?存放普通用户家目录的目录
????????????mnt?存放挂载文件
????????????proc?存放进程相关信息的目录
????????家目录??~?(当前登录用户的家目录)
????????每个用户均有一个属于自己的家目录
????????超级用户:?root?->?/root?
????????普通用户:?linux?->?/home/linux?
?????????????????zhangsan?->?/home/zhangsan
????1.?ls :查看当前目录下所有文件
???????蓝色:目录文件(存放文件)
???????白色:普通文件(存放内容)
????????ls?-a :查看当前目录下所有文件(包括隐藏文件)
????????隐藏文件:文件名以.开头为隐藏文件
????????ls?-l :查看当前目录下文件的详细信息
? ? ? ? 其中drwxr-xr-x的含义:
? ? ? ? 第一个字母代表文件类型:
????????????b?:块设备文件? ? ? ? ? ? ?磁盘驱动
????????????c?:字符设备文件? ? ? ? (键盘鼠标)驱动
????????????d?:目录文件
????????????-?:普通文件
????????????l?:链接文件
????????????s?:套接字文件? ? ? ? ? ? 网络
????????????p?:管道文件? ? ? ? ? ? ? ? 进程
????????rwx:
????????????r:拥有读权限
????????????w:拥有写权限
????????????x:拥有执行权限
????????第一组rwx:?创建文件的用户对文件是否拥有读写执行权限
????????第二组rwx:?创建文件的用户同组用户对文件是否拥有读写执行权限
????????第三组rwx:?其余人对文件是否拥有读写执行权限
????2.?mkdir?:在当前登录用户的用户目录下创建一个新的目录文件
????????示例:
mkdir build
????????文件名字:
????????????1.由数字、字母、下划线构成
????????????2.文件名不要加空格
????????????3.Linux不根据后缀名区分文件类型,但最好加上后缀保证移植性?
????????????4.文件名区分大小写
????3.?rmdir :删除指定的目录文件(空的)
???????示例:将刚刚上一步2中在当前登录用户的用户目录所创建的build目录文件删除
rmdir build
????4.?touch :在当前登录用户的用户目录创建普通文件
???????示例:
touch filename.c
????5.?rm :删除在当前登录用户的用户目录普通文件
????????示例:
rm filename.c
? 6.?cd : 进入某个目录
????????.??:当前文件夹
????????..?:当前目录的上一级目录
????????绝对路径:
????????????当前所在目录不同,登录用户不同,相同路径不会产生不同含义
????????????/home/linux/Desktop?
????????相对路径:
????????????当前所在目录不同,登录用户不同,相同路径会产生不同含义
???????示例:
????????cd?..???????进入当前目录的上一级目录
????????cd?/????????进入根目录
????????cd?~????????进入当前登录用户的家目录
cd filename
cd ./filename
cd ../filename
cd ~/filename
? 7.?pwd : 查看当前所在目录的绝对路径
? 8.cp : 拷贝文件或者目录
????????拷贝普通文件:
????????????cp?源文件路径?目的路径
????????拷贝目录文件:
????????????cp?源目录路径?目的路径?-rf?
????????示例:
cp filename1.txt test2
cp test1 test2 -rf
????9.mv : 移动文件或者目录,也可以用来修改文件名
????????mv?源文件路径?目的路径
????????mv?旧文件名?新文件名
????????示例:
mv filename1.txt test2
????练习:
????????利用前面所学的命令实现:
????????????1.在桌面下创建3个文件夹test1?test2?test3?
????????????2.并在test1目录下创建filename1.txt?
????????????3.并在test2目录下创建filename2.txt?
????????????4.并在test3目录下创建filename3.txt?
mkdir test1 test2 test3
touch test1/filename1.txt test2/filename2.txt test3/filename3.txt
????1.vim编辑器
????????1.使用vim打开一个文件
vim filename.c
????????2.点击i键、a键或者o键进入插入模式
????????3.编写程序
????????4.点击ESC退回到底行模式
????????5.输入:wq???保存并且退出
????????????:w??只保存不退出
????????????:q??只退出不保存
????????????:q!?不保存强制退出
????2.gcc编译器
????????1.编译filename.c文件
gcc filename.c
? ?????????编译代码filename.c默认生成a.out
如果不想叫a.out,可将代码修改为下面所示,修改成自己想要的名字
gcc filename.c -o filename
????????编写代码filename.c指定生成文件filename?
????????2.执行程序
????????????./a.out?
作业1:
1.在~/Desktop目录下创建三个文件夹test1 test2 test3
2.在test1下创建filename1.txt 在test2下创建filename2.txt 在test3下创建filename3.txt
3.将test1目录下的filename1.txt拷贝到test2目录下
4.将test2目录下的filename2.txt移动到test3目录下
5.将test3拷贝到test1目录下
6.将test1目录修改文件名为filename
7.最后将filename文件夹删除
作业2:
编写一个C语言程序利用printf打印如下图形 * *** ***** *** *