目录
3.2.4通过别名机制简化常用、比较长的目录 alias 指令
1.Shell学习
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
特点
用户使用应用程序发布指令比如 (使用浏览器访问网页)
shell去通知操作系统需要进行什么样的操作(相当于解释层)
内核相当于操作系统去指挥硬件
硬件才能工作,否则无法交互。
1.1shell的概念
Shell是Linux系统中后台运行的一种程序也可以理解为一种特殊的软件,提供了用户与内核进行交互操作的一种接口
1.2 shell的特点
用户使用应用程序发布指令比如(使用浏览器访问网页)
shell去通知操作系统需要进行什么样的操作(相当于解释层)
内核相当于操作系统去指挥硬件,硬件才能工作,否则无法交互。
2.Linux的命令分类
2.1内部指令和外部指令
内部命令 : 在系统启动时就调入内存 ,是常驻内存的 ,所以执行效率非常高
外部命令 : 是系统软件的功能 用户需要时才从硬盘中读入到内存中
一般先执行内部指令 再执行外部指令(别名最大)
2.2Linux 命令行
2.2.1通用的命令行使用格式
命令字 【选项 】 【参数】
命令字
是整个命令中最关键的一部分
唯一确定一条命令
选项
短格式选项:使用“-”符号引导
长格式选项:使用“--”符号引导
2.2.2参数
命令字的处理对象
可以是文件名 目录(路径)或用户名等内容
个数可以是零个到多个
2.2.3编辑linux命令行的辅助操作
Tab 键:自动补齐
反斜杠“\”:强制换行
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏
Ctrl+C组合键:取消本次命令编辑
Ctrl+U组合键
Ctrl+E组合键:光标跳到行尾
Ctrl+A组合键:光标跳到行头
2.3 绝对路径和相对路径
绝对路径
2.3.1 以硬盘根目录或特定盘符(如C:\)开头,完整描述文件在硬盘中的位置。
2.3.2相对路径
以当前文件所在目录为基准,不包含完整盘符或根目录信息。
相对路径的表现形式:
直接使用目录名或文件名 表示当前工作目录中的子目录、文件的位置 例:grub.conf
以一个点号“.”开头 表示以当前的工作目录作为起点 例:./grub.conf
以两个点号“..”开头 表示以当前目录的上一级(父目录)作为起点 例:..vmlinuz
以“~用户名”形式开头 表示以指定用户的宿主目录为起点 例:~teacher
2.4获取命令的帮助方法
2.4.1.内部命令“help”
查看Shell内部命令的帮助信息
2.4.2 命令的“-help”选项
适用于大多数Linux外部命令
2.4.3.使用man命令阅读手册页
使用上箭头“↑”下箭头“↓”滚动一行文本
使用Page Up Page Down键翻页
按Q或q退出阅读环境
按“\” 查找内容
2.5 man手册的使用
man手册的使用
linux的命令手册大全
用法:man cd
查找翻页
n 向下 N 向上
man ls | col -b > lshelp.txt
在这个例子中,col 是一个命令程序,用于过滤文本中的一些特殊控制字符;另外还使 用了“|”和“>”符号,这是 Shell 环境中的两种特殊功能应用,分别称为管道、重定向输出。其 含义及作用如下所述。
管道:用竖杠符号“|”表示,用于将前面命令的屏幕输出结果作为后面命令的操作对 象(输入)。就好像一根管道一样,从这头塞入内容,从另一头出来。
重定向输出:用大于符号“>”表示,前面的命令成功执行以后,其屏幕输出结果将 保存到“>”号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向。

3.Linux常用指令
3.1 内部指令和外部指令
内部命令:内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。比如说,当我们执行“cd”命令时,没有进程被创建。在执行过程中只是简单的改变当前的目录。
外部命令:外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个新的进程即被创建同时命令被执行。比如说,当我们执行“ls”(通常被保存在/bin目录下)命令时,然后/bin/ls被执行
3.2 Linux文件目录管理指令
3.2.1查看当前指令 pwd指令
查看当前目录指令 : pwd

3.2.2切换当前目录 cd 指令
cd- 切换当前目录
cd /home #后面跟绝对路径,切换到home目录
cd ./home #后面跟相对路径,切换到home目录
cd ~ #切换到当前用户的家目录
cd #切换到当前用户的家目录
cd ~user #切换到某一个用户的家目录,只有root才行,别的用户只能在自己家
cd - #切换到上一次执行操作的目录
cd .. #切换到上一层目录(父目录)
思考:如何切换到父目录的父目录(cd ../../)
3.2.3列表显示目录内容 ls指令
列表显示目录内容:ls

-l #将文件信息属性详细列出,通常直接使用ll,因为设置了别名

-R #递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-d #查看目录本身信息,不显示目录下的内容
-i #显示inode值
-h #友好显示文件大小
-a #遍历所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-A #跟-a 唯一的不同是不列出当前目录和上一层目录
-lh 查看文件大小
3.2.4通过别名机制简化常用、比较长的目录 alias 指令
通过别名机制简化常用的、比较长的命令
alias命令别名 =命令
alias ll='ls -lt' #设置别名
unalias ll #删除别名
永久生效
vim /root/.bashrc
临时修改
- alias 命令别名 = “命令”
- unalias 别名命令 删除别名
- \加命令 原始命令
修改
- 在/etc/bashrc 会影响全部
- /root/.bashrc只影响当前用户
补充; 别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
3.2.5 统计目录及文件空间占用情况-du
-h:显示出每一个文件以及大小,单位是KB,MB,GB

-s:显示文件或整个目录的大小,默认单位是KB,但不会把他们显示出来
du -sh * #生产环境常这样搭配使用统计当前目录下所有文件的大小并显示出来,常用于磁盘水位过高的情况
3.2.6 创建新目录mkdir
mkdir /opt/sj #创建目录
-p:创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建

3.2.7 创建空文件touch
①文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。
②文件不存在:创建新文件
touch [文件名]
touch [文件名] [文件名]

touch 高级用法
[root@localhost opt]# touch {1,2,3}
[root@localhost opt]# ls
1 2 3 rh
[root@localhost opt]# touch {1,2,3}.txt
[root@localhost opt]# ls
1 1.txt 2 2.txt 3 3.txt rh
[root@localhost opt]# touch {4..8}.txt
[root@localhost opt]# ls
1 1.txt 2 2.txt 3 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt rh

3.2.8创建链接文件ln(软链接、硬链接)
硬链接:
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)
软链接:
除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:"No such file or directory"。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
ln 命令用于为文件或目录建立链接文件(类似于 Windows 系统中的快捷方式),提高 用户定位文件或定位目录的效率
链接文件包括软链接和硬链接两种类型,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同
ln -s 创建软链接,相当于创建一个快捷方式
ln 创建硬链接,相当于复制了一份副本
例:ln-s/bin/bzip2/bin/wx
3.2.9 复制文件或目录cp
-p:连属性一起复制
-a:保留权限,复制软链接本身,递归复制
-r:递归复制
-f:强制复制,不与用户交互
-i:提醒覆盖
cp的高级用法:cp -v file1.txt{,.bak}常用于备份
3.2.10删除文件或目录rm
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
-f:删除文件或目录时不进行提醒,而直接强制删除
常见用法:rm -rf /*
删除空目录:rmdir

3.2.11移动文件或目录/改名mv
格式:mv [选项】 源文件 目录 目标文件或者目录
用法:mv [文件名] [目录名]
mv [文件名] [文件名]
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件
-f:在 mv 操作要覆盖某已有的目标文件时不给任何指示
当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作
3.2.12查找命令/文件存放目录which
which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。
-
1242

被折叠的 条评论
为什么被折叠?



