韦东山嵌入式Linux学习笔记-2-Linux基础
Linux是什么
- Linux内核+GNU工程各种工具和数据库=Linux发行版
- Linux只是一个内核,Linux发行版有很多,如ubuntu和centos。发行版由个人,团队维护。
- Linux发行版一般包括:用于简化系统初始安装的iso镜像;桌面软件(Ubuntu下的GNOME和KDE); 应用软件(文本编辑器vi,编译器,办公套件,科学工具等);软件安装和升级的集成管理器(Ubuntu的apt管理器).
- 使用虚拟机VMWare进行开发
- 解压16.02虚拟机;
- 在VMWare中打开此虚拟机.
- 按视频学习Linux基本操作
Linux 常用命令
-
Windows系统上的命令行,常见的命令有
cd
: 打开目录;dir
: 显示当前目录所有文件;md
: 创建子目录;rd
: 删除目录;cls
: 清屏;
-
Linux系统的命令:
-
Ctrl+Alt+T
: 打开Terminal; -
pwd
: (Print Working Directory)打印当前所在路径; -
ls
: (list)列出当前目录所有文件; -
ls [dir] -l
显示目录[dir]下的所有文件的详细信息; -
ls -a
显示隐藏文件; -
ls -h
将文件大小以KB、MB、GB来表示; -
cd
: (Change Directory)切换路径; -
cd ..
:返回上级路径; -
cd ~
: 切换到/home/[username]
用户家目录; -
cd ../..
: 切换到上上级目录(路径分隔符是斜杠/); -
cd -
: 切换到上一次的路径. -
mkdir [foldername]
: 新建文件夹; -
mkdir -p dir1/dir2
: 创建多级目录,若父目录不存在,需要使用-p
参数。 -
rmdir [folder]
: 删除空文件夹,不能删除有其他文件/目录的文件夹. -
rmdir -r [folder]
: 删除非空文件夹,-r
表示递归删除. -
touch [filename]
: 在当前目录新建文件,不能新建同名的文件,file1和File1是不同名的; -
mv [旧文件名] [新文件名]
: 重命名文件; -
mv [旧目录名] [新目录名]
: 重命名目录; -
mv [文件名] [目录名]
: 移动文件到某一目录. -
cp [srcFileName] [dstFileName]
: 复制src文件到dst文件. -
cp [srcFileName] [dstDir]
: 复制src文件到dstDir目录. -
cp -r [srcDir] [dstDir]
: 复制srcDir文件夹到dstDir文件文件夹,-r
表示递归复制. -
cp -i [srcFile] [dstDir]
: 要求确认是否覆盖同名文件. -
rm [filename]
: 删除文件. -
rm -i [filename]
: 删除时要求确认是否删除. -
rm -r [dir]
: 递归删除dir目录. -
rm -ir [dir]
: 选项可以复合使用. -
cat [filename]
: 将文件内容显示到终端中. -
cat [filename1] [filename2]
: 将多个文件内容依次显示到终端中. -
cat -n [filename]
: 将文件内容显示到终端中,并显示行号. -
gedit [filename]
: 使用gedit打开文件进行编辑. -
vi [filename]
: 使用vim打开文件进行编辑. -
clear
:刷新屏幕,保留历史命令操作记录,它让终端向后翻一页. -
reset
:初始化屏幕,清除历史命令操作记录. -
ps
: 查看进程; -
echo $PATH
: 打印环境变量PATH的值. -
man ls
: (Manual)查看ls的Help文档,优先使用man来查看帮助信息. -
man man
: 查看man的Manual文档,然后按q退出查看. -
man 2 open
: 查看open
命令的系统调用. -
info ls
:查看ls的帮助信息; -
ls --help
: 查看ls自带的帮助信息.
Shell程序在收到
pwd[Enter]
命令后,根据该字符串,在环境变量Path决定的默认路径下去匹配相应的命令(可执行程序),把参数传递给应用程序,并执行之.- 设置PATH环境变量
export PATH=$PATH:/my/dir
.,遇到Command not found
时,一般是因为环境变量PATH中未设置该路径,或它不是可执行的程序。 chmod +x [filename]
: 修改文件的可执行权限;
Shell程序支持直接运行绝对/相对路径下的可执行程序.如
/home/book/myexe
或./myexe
. -
Linux命令提示符
-
~: 当前所在的目录,
~
表示/home/[UserName]
目录; -
\(: 用户种类提示符,`\)
表示普通用户,
#`表示root管理员用户. -
Linux命令的格式:
命令 [选项] [参数]
Linux的目录结构
/ ------根目录
|----bin
|----home
|----UserName
|----guest
|----usr
|----lib
|----bin
|----include
按Tab自动补全目录,文件名.
Vi编辑器
- 配置vi编辑器:
cd /etc/vim
,cp vimrc ~/.vimrc
,cd ~
,gedit .vimrc
,复制以下内容后保存;
"关闭兼容功能"
set nocompatible
"显示行号"
set number
"编辑时 backspace 键设置为2个空格"
set backspace=2
"编辑时 tab 键设置为4个空格"
set tabstop=4
"设置自动对齐为4个空格"
set shiftwidth=4
"搜索时不区分大小写"
set ignorecase
"搜索时高亮显示"
set hlsearch
vi的命令如下:
-
vi filename
: 打开/新建文件; -
按
i
,进入"INSERT"模式,在光标前插入模式,按ESC
返回一般模式. -
按
o
,在当前行之下新开一行,并把光标移动到行首. -
按
/abc
进入命令行以查找文本, 按ESC
返回一般模式. -
按
:w
保存文件. -
按
:q!
不保存,退出. -
按
:wq
保存并退出. -
一般模式下,
H
,J
,K
,L
分别是左,下,上,右,可以移动光标. -
ngg
跳转到第n行的行首; -
G
跳转到末位行; -
0
移动到当前行行首; -
$
移动到当前行行末; -
fx
搜索当前行中下一个x
所在位置. -
yy
(yank)复制当前行; -
nyy
从该行开始复制n行; -
P
在当前行之后粘贴新行; -
dd
删除当前所在行; -
ndd
从该行开始删除n行; -
u
撤销上一个操作; -
x
删除光标所在位置的字符. -
/str
从光标处向后搜索字符串str,后按下n下一个,N上一个; -
%s/str1/str2/g
将文件中所有的str1替换为str2, "s(substitute)"表示替换,g(global)
表示全局替换. -
%s/str1/str2/gc``c(confirm)
表示替换时需要确认.
Linux其他命令
-
命令格式
find 目录名 选项 查找条件
,如find /home/book/dira/ -name "test1.txt"
在dira
下查找name
为test1.txt
的文件. -
find /home/book/dira/ -name "*.txt"
查找指定目录的所有.txt文件,*
是通配符. -
find /home/book/dira/ -name "dira"
查找指定目录下是否有"dira"; -
find -name "*.txt"
查找当前目录下的所有.txt文件. -
find /home -mtime -2
查找home目录下两天之内有改变的文件. -
grep [选项] [查找模式] [文件名]
查找文件中符合条件的字符串; -
grep -rn "str" 文件/目录
(-r)递归地查找文件/目录中含有字符串str
的位置,并输出其行号(-n); -
grep命令支持
-w
选项以实现全文匹配; -
file ~/.bashrc
为ASCII 编码的text类型 -
file ~/.vimrc
为UTF-8 Unicode 编码的text类型 -
file ~/Pictures/*
如图形文件JPEG/PNG/BMP格式 -
file ~/100ask/
为directory表明这是一个目录 -
file /bin/pwd
出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件 -
file /dev/*
出现character special(字符设备文件)、 block special(块设备文件)等 -
which 命令名/应用程序名
查找程序所在目录 -
which pwd
定位到/bin/pwd -
which gcc
定位到/usr/bin/gcc -
whereis pwd
查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz -
单个文件的压缩(解压)使用gzip 和bzip2; 多个文件和目录使用tar;
-
gzip的常用选项
- -l(list) 查看压缩文件的内容
- -k(keep) 在压缩或解压时,保留原压缩文件.
- -d(decompress) 将压缩文件进行解压缩.
- 一般解压使用
gzip -kd pwd.1.gz
; - 压缩文件时
gzip -k mypwd.1
得到了一个.gz结尾的压缩文件
-
bzip2的常用选项
- -k(keep) 在压缩或解压时,保留原压缩文件.
- -d(decompress) 将压缩文件进行解压缩.
- 一般解压使用
bzip2 -kd pwd.1.bz2
; bzip2 -k mypwd.1
得到了一个.bz2结尾的压缩文件
一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。使用tar打包文件,然后使用gzip/bzip2压缩;
-
tar常用选项
- -c(create) 表示创建用来生成文件包
- -x:表示提取,从文件包中提取文件
- -t可以查看压缩的文件。
- -z使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
- -j使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
- -v(verbose)详细报告tar处理的信息
- -f(file)表示文件,后面接着一个文件名。
- -C <指定目录> 解压到指定目录
- 压缩命令:
tar czvf 压缩文件名 目录名
; - 查看命令:
tar tvf 压缩文件名
; - 解压命令:
tar xzvf 压缩文件名
; - 解压到:
tar xzvf 压缩文件名 -C 指定目录
;