一.Linux开发特点(Linux开发环境)
- linux下的程序开发大多通过在本地安装虚拟机、物理机或网络连接到服务器完成
- 出于效率、远程开发、嵌入式开发的考虑:开发方式大多是在命令行下完成,没有很好的集成开发环境供我们使用
二.Linux目录的抽象理解
树状结构:
- linux采用树状结构管理磁盘
- linux系统构建一个叫做根文件系统(/)的东西(就是一堆文件夹、文件的集合),里面存放着linux启动必需的一些配置文件、库文件、应用程序
一切皆文件:
- linux将磁盘抽象为文件夹(windows下的C盘,D盘)
- 将数据文件,程序文件以及硬件设备等一切都抽象为文件使用统一的方式方法管理
“/”(根目录)是linux系统中最顶层的目录,所有的文件夹、文件都是它的子目录。
三.Linux目录结构
第一列 | 第二列 |
---|---|
/ (根目录) | Linux下有且只有一个根目录 |
/home | 根目录下的用户目录,用来存放用户的数据、设置文件等 |
/root | 系统管理员(root user)的目录 |
/bin | 存放标准的linux的工具,比如像"Is", “cat”, “mv”, "cp"等。 |
/sbin | 存放涉及系统管理的命令,只有系统管理员才可执行,普通用户无权限执行. |
/lib | 主要用于存放应用程序所需的共享库,在Linux执行或编译一些程序的时候,用到的一些库,就在这个目录下 |
四.linux常用命令
Linux命令格式:
command [-options] parameter1
command | 命令名 | 相应功能的英文单词或单词的缩写 |
[-options] | 选项 | 可用来对命令进行控制,也可以省略 |
parameter1 … | 传给命令的参数 | 可以是零个一个或多个 |
例:
Is -alh /home
–help
一般为Linux命令自带的帮助信息
可用以下方法查看
ls --help
man
manual:使用说明;说明书
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明>
使用方法:
man ls
功能按键技巧
自动补全:Tab 在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
历史命令:⬆️\⬇️ 可通过上下键查看刚刚使用过的命令
ls [^1]
ls | 显示当前目录的内容 |
---|---|
ls -l | 列表显示 |
ls -a | 显示隐藏文件 |
ls -h | 可配合 -l以人性化的方式显示文件大小 |
tree
以树状形式显示目录结构
安装命令
系统默认没有tree命令,所以要先下载
sudo apt-get install tree \\将tree换为其他即可下载其他命令
clear
clear //清屏命令
cd
cd:chage directory切换目录
cd /home //可进入home(任意指定,可替换)目录下
cd .. //可进入上一层目录
cd ~ //可进入家目录(~:家目录)
pwd
pwd | print work directory打印工作目录 | 显示当前工作目录的绝对路径 |
---|
mkdir
mkdir:创建目录即文件夹
touch
touch test.c //创建了一个文件
rm
删除文件/目录
rm test1.c //系统会询问是否删除
rm -f test2.c //强行删除,不提示
rm -r test //删除文件夹
rm -rf test //全部删除
cp
copy 复制文件
cp ~/test/mian.c ~/test2 //复制~下的test文件夹main.c到~下的test2文件夹内
-R | 拷贝文件夹 |
---|---|
-i | 有重复文件时,提醒是否贾盖 |
-v | 显示拷贝进度 |
mv
move 移动文件或更改文件名
mv test1 text2 //将test1改名为test2
mv test2 ~/test3 //将test2移动到~中的test3中
cat [^2]
cat: 显示文本文件内容
cat test.txt //查看文本文件内容
file
file : 查看文件类型
file test //查看test文件类型
which
查看命令所在目录
which ls //即可查看命令ls所在的目录
find
在指定路径下查找指定文件
格式:
find 路径名-name 文件名
find /home -name test.txt //在"/"根目录下查找名为test.txt的文件
grep
在指定文件中查找指定内容
格式:
grep 要查找的信息 文件名 -n //-n为显示行号
grep aaa test.c-n //在当前文件test.c中查找aaa信息,并显示行号
tar
压缩与解压命令
gzip格式
压缩
tar zcvf 压缩包名 文件1 文件2
tar zcvf bk.gz test.c //压缩test.c为bk.gz
解压
tar zxvf 压缩包名
tar zxvf bk.gz
tar zxvf bk.gz -C /test //通过-C将bk.gz解压到test目录下
bz2格式
tar jcvf 压缩包名 文件1 文件2 ...
tar jcvf bk.bz2 main.c //main.c压缩为bk.bz2
解压
tar jxvf 压缩包名
tar jxvf bk.bz2 //bk.bz2
tar jxvf bk.bz2 -C / //将bk.bz2解压到/目录下
[1]:List information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
译:列出关于FILEs(默认为当前目录)的信息。如果没有指定-cftuvSUX或——Sort,则按字母顺序排序
[2]: oncatenate files and print on the standard output
译:把文件连接后输出到屏幕上