目录
一个linux 的软件系统组成
linux和linux的发行版本
一、linux入门命令讲解
shell命令功能解析器说明
举例:在终端命令行输入:pwd ,屏幕显示当前目录路径。
但是输入 pwd123 ,显示 command not found。
涉及到的机制:
1、在键盘上输入 p,发送给某个程序。
这个程序是:shell 。 可以通过命令 ps 来查看当前进程。
2、程序上显示 p 。
3、输入w,显示w;输入d,显示d。
4、按下回车。
5、程序列出了结果。
分析:
按下回车之后,根据字符串去找相应的命令, 找到之后去执行命令。
去哪里找命令?
现在肯定有一个默认的路径来查找对应的字符串命令。 默认路径由环境变量 PATH 决定。
我们可以将他的值打印出来:
echo PATH。
我们如何验证这个命令在不在哪一个目录?
直接 ls /bin/pwd 。(显示 根目录/bin/pwd二进制文件)
什么是命令?
命令的本质就是一个可执行程序。
在分析一个现象:
ls /bin/pwd
1、根据第一个空格,隔开的字符串,来找对应的(命令)可执行程序。
2、然后将空格后面的 /bin/pwd 作为参数传给这个可执行程序。
总结:
在shell中输出字符串并回车的过程:
1、shell 根据第一个字符串,去环境变量 PATH 所指定的目录中找到对应的可执行程序。
2、然后执行它。
我们可以自己设置 PATH 环境变量,从而来添加我们的目录
export PATH=$PATH:/my/dir
1、$PATH :表示对原来环境变量的解引用。
2、:/my/dir : 说明默认路径以 “:” 来隔开,并且将我们的目录添加到原来 PATH 的后面。
总结执行程序的方法:
1、将可执行程序的目录,导入到 PATH 环境变量当中。然后直接通过名称执行。
2、通过绝对路径来执行。
3、通过相对路径来执行。
linux命令提示符和linux命令格式
- 命令提示符:
注 : @ 和 : 是连接符号,连接两个字符。
命令提示符,显示了
1)当前登录的用户名
2)用户当前所在的路径
- linux命令的格式:
举例:
ls
ls -l
ls -l /home
注:
1、命令必须存在,选项和参数不一定存在,可有可无。选项和参数取决于你使用该命令的具体目的。
2、选项是由== “-”== 来指明的。
3、命令,选项,参数之间是以空格来个开的。 (一个或者多个空格视为一个空格)
如ls命令有选项-l,那么ls到底有哪些选项呢?
可以通过man ls来查看。
ls命令的选项有很多,入门阶段先掌握ls命令的-l、-a、-h等常用选项。
在后面的视频中,也是先介绍linux基础命令(pwd、cd、ls等)的常用选项。
cd :切换路径
cd ~切换到当前用户的家目录
cd . 切换到当前路径
cd … 切换到上一级路径
cd …/… 切换到上上级路径(其中:在linux中路径分隔符为斜杠/)
cd - 切换到上一次的路径
ubuntu的目录结构
- ls命令
ls:列出目录内容
cd切换路径,然后在使用ls来查看目录内容
举例:
命令 [选项] [参数]
1)ls
直接ls,则显示当前所在目录的内容
2)ls 目录名
如:ls /home,则指定显示/home的内容
如:ls ~ ,则指定显示/home/book的内容
3)ls 选项
或:ls 选项 目录名
常用的选项:
-l(long的缩写),显示目录下文件的更详细的信息(文件权限、文件最后修改时间、文件大小)
-a(all的缩写),显示了隐藏文件
-lh(human-able的缩写),将文件大小以K(KB)、M(MB)、G(GB)来表示
目录的操作
mkdir:创建目录
命令 [选项] [参数]
举例:
1)mkdir 目录名
mkdir dir0 创建了dir0这个目录
2)mkdir -p 父目录/子目录
mkdir -p dir1/dir2
-p(parents的缩写)
连续创建多级目录(父目录和子目录),如果父目录不存在,则需要加入-p参数。
rmdir :删除目录
举例:
1)rmdir 目录名
注意:rmdir 不能删除非空目录(非空目录:该目录下面有子目录或者文件)
文件操作
touch:新建文件
touch 文件名
举例:
touch file1 在当前目录新建名为file1的文件
注意:
1)同一目录无法创建同名的文件
2)linux的文件名是区分大小写的,如file1和File1是不同文件。
这一点跟windows不同。
mv(move的缩写):修改文件(目录)名、移动路径
-
mv 旧文件名 新文件名 ====>修改文件名
如:mv file1 filea 将当前目录的文件file1改名为filea -
mv 旧目录名 新目录名 ====>修改目录名
如:mv dir1 dira 将当前目录下的目录dir1改为dira -
mv 文件名 目录名 ====>移动路径
如:mv filea dira 将当前目录下filea移动到dira子目录
如:mv filea ~ 将当前目录下filea移动家目录
如:mv ~/filea … 将家目录下的fila移动到上一个路径
cp(copy的缩写):复制文件(目录)
-
cp 源文件名 目标文件名
举例:
cp File1 file2将当前目录下的文件File1拷贝成file2 -
cp 源文件名 目标目录名
举例:
cp file2 dira/ 将当前目录下的文件file2拷贝到dira子目录 -
cp 源目录名 目标目录名
举例:
cp -r dira dirb复制dira目录下的所有内容到dirb
其中,-r参数时递归复制
cp -i file2 dira如果dira目录下面有同名的file2,加入-i参数就会
要求你确认是否覆盖同名的文件
注意:cp的常用参数有:-i,-r,-f,-d等,在后面讲解了linux权限之后,我们会加深cp这个命令的讲解。
rm(remove的缩写):删除文件(目录)
rm [选项] [文件名 | 目录名]
常用选项:
-i(interactive(交互)的缩写),删除文件(目录)之前,要求你确认是否同意删除
-r(recursive(递归)的缩写),递归删除指定目录下的子目录和文件
-f(force(强制)的缩写),强制删除
举例:
rm File1 删除当前目录下的文件File1
rm -i file2 删除文件file2,删除前要求你确认是否同意删除,其中y表明同意删除,n表示取消删除
rm -r dira 删除目录dira
rm -ir dirb 删除目录dirb,删除前要求你确认是否同意删除,其中y表明同意删除,n表示取消删除
注意:
1)删除文件(目录)前,确定该文件(目录)是否可以被删除。
2)rm的常用参数有:-i,-r,-f等,在后面讲解了linux权限之后,我们会加深rm这个命令的讲解。
文件的查看和编辑
- cat 查看文件内容
cat 文件名
举例:
cat file1 将file1的内容打印到标准输出中(默认标准标准输出指向终端)
cat file1 file2 将file1和file2的内容串联并依次全部打印到标准输出中
cat -n file1 显示内容并在内容前显示行号。
类似的查看命令:more、less、head、tail等后面讲解
-
gedit图形应用程序的编辑器
-
vi 编辑器
清除屏幕
clear:刷新屏幕,保留历史命令操作记录
说明:此命令本质上只是让终端向后翻一页,
当向上滚动鼠标时,还是可以看到之前命令的操作记录
reset:重新初始化屏幕,清除历史命令操作记录
man、info、–help
man使用的最多
ls 常用选项为-l、-a、-h
可以通过man ls来查看这些选项的含义。
举例:
-
man man 查看man手册的说明
-
man ls 当没有指定使用那一页,默认使用第1页
man 1 ls
man 1 gcc gcc是一个应用程序,在linux中一般使用gcc编译器来编译c/c++语言的程序 -
open/write/read/close等等都是系统调用
man 2 open 查看系统调用open的man手册说明
注意:
man手册的9册内容的侧重点,最好记一下。
2)info
如info ls
3)–help
如ls --help