Linux是操作系统的内核
操作系统常见的操作系统有哪些?
Linux Windows IOS Android Unix MacOS Syban
cd / 进入根目录
bin目录 存放指令
etc目录 存放配置文件
proc目录 和驱动相关的目录
home目录 存放用户目录
sbin目录 存放超级用户指令
mnt目录 作为U盘等外部存储器的 挂接点
usr目录 存放一些其他的命令和文件
lib目录 存放库文件
sys目录 和驱动相关的目录
dev目录 存放设备文件
root目录 存放根用户
var目录 存放临时文件
ln -d 源文件 硬链接文件
ln -s 源文件 软链接文件
env指令 输出系统里的环境变量
设置永久的环境变量方法:
cd //进入用户主目录
sudo vim .bashrc //打开bash配置文件
修改相应内容后保存即可
切记:不要随便修改!!!后果很严重
添加临时环境变量
export 变量名=变量的值
文件颜色区分(Linux下皆文件):
蓝色:目录
红色:压缩文件
绿色:可运行文件
白色/黑色:普通文件
根目录 /
bin dev home root usr .....
主目录-用户目录 ~
man:察看命令或者函数的帮助手册
使用方法:
man 命令/函数
man [章节号] 命令/函数
pwd:查看当前工作目录
使用方法:pwd
clear:清屏动作
使用方法:clear
whoami:查看当前登陆的用户名
使用方法:whoami
ls:查看子文件/或者子目录
使用方法:
ls:查看当前目录下的子文件或者子目录
ls 路径:查看路径目录下的子文件或者子目录
ls -a:查看当前目录下包含隐藏文件和隐藏目录在内的所有子文件和子目录
ls -a 路径:查看路径目录下包含隐藏文件和隐藏目录在内的所有子文件和子目录
ls -l:查看当前目录下的子文件/子目录的详细信息
ls -l 路径:查看路径目录下的子文件/子目录的详细信息
ls -l 文件名:查看这个文件的详细信息
ls -al:列出文件列表
r - 读 4(权限值)
w - 写 2
x - 操作 1
- - 无权限 0
在文件名前或者目录名前加点(.)就是变成隐藏的,每个目录下都有两个特殊的目录。
. :表示当前路径,当前目录下
.. :上一级目录
/ :根目录
~ :主目录
chmod命令:修改文件权限值
使用:chmod命令 要修改后的权限值 要修改的文件或者目录
*cd:切换工作路径
cd 路径
cd / :切换到根目录
cd .. :切换到上一级
cd ~ :切换到主目录
cd . :切换到当前
cd回车:切换到主目录
绝对路径:从根目录下开始的路径叫做绝对路径
相对路径:相对某个目录开始的路径
走绝对路径切换到桌面下
走相对路径切换到主目录下的test
touch:当文件存在时则更新最后一次修改时间,如果不存在则会创建这个文件
touch 路径/文件名
touch file1 file2 file3 file4 ......
mkdir:创建目录
mkdir 路径/目录名
mkdir dir1 dir2 dir3
mkdir -p dir1/dir2/dir3 创建不同级目录
三思而后删!
rmdir-只能删除空目录
rm:删除文件或者目录
rm file
rm file1 file2 file3
rm -r:删除任意内容
rm -r dir:删除目录
rm -r file:删除文件
rm -f file:强制文件
rm -rf filr/dir:强制删除文件或者目录
? - 一个字符
* - 所有
cp:复制文件
cp 源文件 目标文件
cp -r 源目录 目标目录
注意:
mv:剪切(重命名)
mv 源文件/源目录 目标文件/目标目录
cat 文件名:将文件的内容打印到屏幕上
su 用户:切换用户
exit:退出当前用户
sudo:临时获取权限
adduser:创建用户
passwd:改变用户密码
vimtutor
ifconfig:获取网络信息
ping:判断两个台设备网络是否能联同
vim的使用
vi/vim 文件名:如果文件存在则打开,不存在则保存创建,进入后在命令模式(等待模式)下。
i/a/o/I/A/O:进入编辑模式,ESC退回到命令模式(等待模式)下。
:/?:进入底行命令模式,两次ESC退回到命令模式(等待模式)下。
命令模式下: 底行模式下:
i/a/o/I/A/O:进入到编辑模式 q:不保存退出
ZZ :保存退出 w:保存
:/?: 进入底行模式 wq:保存退出
yy :复制一行 q!:强制不保存退出
Nyy:复制N行 wq!:强制保存退出
p :粘贴 N :光标跳到N行
dd :剪切/删除 x :保存退出
Ndd:剪切/删除N行` w 文件名:另存
u :撤销
x :删除一个字母
G :光标移动到最后一行
NG :光标移动到N行
Linux下写C语言的流程
1:编写源代码(.c/.cpp)
vim xxx.c
2:编译源代码
gcc xxx.c ==>a.out
3:运行文件
./a.out
编写源代码->预处理->汇编->编译->链接
gcc -E - 预处理
gcc -S - 汇编
gcc -c - 编译
gcc -o - 其别名
gcc -g - GDB调试
gcc -std=C99 使用C99的标准
.c 源文件
.h 头文件
.i 预处理
.s 汇编文件
.o 目标文件
编译器的参数:
-E 预处理
-S 编译 --> 从预处理文件到汇编文件
-c 只编译不链接
-o 输出参数
-v 输出编译过程或者输出版本信息
#include < > 和 “ ”的区别
" "是从当前路径下寻找文件,如果文件不存在就去系统指定的路径下寻找文件
< >从系统指定的路径下寻找
系统指定的路径在:/usr/include
变量的声明和定义的区别
变量的定义
需要为变量分配空间
变量的声明
只是作用域的扩展,并没有为变量分配空间
编译的基本单位是函数吗?
编译的基本单位是源文件