终端:
ubuntu自带终端terminal
终端提示符:
fs@ubuntu:~$
用户名@主机名:目录$
whoami :用户名
hostname :操作系统
pwd:现实所在目录
$ 普通用户提示符
# 超级用户提示符(root)
终端命令解析:
熟练操作重点命令,能够分辨相对路径和绝对路径的区别.
ls:列出文件夹内容.
ls == ls ./
ls 文件夹名(当前目录下的文件夹)
ls /home/fs/61018 (由于完整路径便可现实操作其他目录下的内容)
ls ./61018 (表示当前目录下的61018文件夹,应直接简写为61018)
ls -a 显示所有文件,包括隐藏文件
ls -l 显示文件的详细信息。
cd 进入文件夹
cd 61018 (进入当前目录下的文件夹)
cd /home/fs/61018(操作绝对路径)
cd /(返回根目录)
cd ..(返回上一层)
cd ~ (回到用户主目录)
cd - 返回到上一次所在的目录
是上一次目录,不是上一层目录,等于重新访问上一次操作时目录所在的地址。
mkdir 创建文件夹
mkdir dir1(默认目录省略)
mkdir ./dir2 ./dir3 ./dir4 (创建多个文件时,默认目录不能省略)
mkdir ../dir5 dir2/dir22(同时在不同目录下,创建多个文件夹)
mkdir -p dir1/year/month/week/day(-p 检查文件夹是否存在,不存在则嵌套创建)
touch 创建空文件或更新文件时间
echo 向屏幕打印字符串
echo "Hello world"
echo Hello world
cat 读文件内容并显示到屏幕
cat test.c
> 输出重定向,将输出内容指定到某一个文件
会先清空原文件,再输入
echo "hello world" > test.c
>> 输出追加,将输出内容指定到某一个文件结尾
在原文件的结尾添加
echo "hello I'm Jackson" >> test.c
rm 删除文件或文件夹
rm jielun(当前目录默认省略)
rm ../naying(非当前目录)
rm -r dir1
man
man 1 程序或shell命令
man ls
man mkdir
man 2 内核提供的函数
man 2 open
man 2 write
man 3 标准库提供的函数
man 3 printf
man scanf
whatis write 查看分类情况
ls:显示
ls [OPTION]... [FILE]...
命令 参数/技能加强 目标文件
[] 可选标志/可省
eg:例如
ls 默认查看当前目录内容,option和file全部省略了
ls -a 省略了目标
ls ../
... 多参机制
eg:例如
ls -l -a
ls -a -l
ls -la
ls -al
-a 显示所有文件,包括隐藏文件
-l 显示文件的详细信息。
ls -l jielun
-rw-rw-r-- 1 fs fs 13 6月 27 15:57 jielun
类型+权限 链接 主人 战队 大小 时间 文件名
类型:首位符号
- 普通文件(二进制,代码,文档)
d 文件夹
c 字符设备文件(键盘)
b 块设备文件(硬盘,存储设备)
l 软链接文件(快捷方式)
主人的权限 队友的权限 其它用户
rwx rwx rwx
- rw- rw- r-- 字母权限
110 110 100 二进制权限
6 6 4 八进制权限
rw- --- ---
110 000 000
6 0 0
改变权限:
chmod 600 jielun
chmod
cp mv
对文件操作
cp source dest
cp jielun backup
cp source... directory
???????
cp jielun naying ../Download(复制到指定位置)
对文件夹操作,
cp -av dir1 dir33
-a 拷贝文件夹
PS:
./ 当前目录,当前所在的目录
../ 上一层目录,后退一层的目录
../../ 上两层,后退两层的目录
.file 以点开头的文件是隐藏文件
everthing is file 一切皆文件
* 匹配任意长度的任意字符
ls *.c
ls *
rm -rf *
等级任务二:
在主目录 的 61018下创建文件夹student1,student2。
并在student1里创建文件peiqi, qiaozhi和 文件夹test。
删除test,qiaozhi;
将"hello kugou"重定向进入 文件peiqi中 ,
将peiqi的文件权限改为 仅所属用户 可读可写可执行。
命令:熟悉linux系统使用
:vim gedit
C, 使用linux-->写代码 -->编译-->运行
vim 复制 移动 粘贴 、 写代码 、 保存
命令模式
编写模式
底行模式
vim test.c
编写一段代码(内容无所谓) i
退出编写模式 Esc
练习命令模式, j k yy dd p P
编译器:cc
gcc
Step1: 预处理
加载头文件,替换宏定义,注释代码删除,生成有效代码(.i)
gcc -E test.c -o test.i
Step2: 编译
检查C语言的语法错误,如果有错误则停止编译,并提示错误或警告,没有错误则生成汇编代码(.s)
gcc -S test.i -o test.s
Step3: 汇编
将汇编代码汇编生成机器码(目标文件.o),目标文件是不能直接运行的
gcc -c test.s -o test.o
Step4: 链接
将项目中所有的目标文件链接生成可执行文件(链接过程进行符号定位,库函数定位)
gcc test.o -o test
运行:
./test
gcc test.c -o test