一.Linux下的常用命令
1.什么是linux?
Linux是指linux内核,即linux系统核心程序,相当于人的大脑,负责系统程序和硬件分配及调度。支持多用户、多任务、支持多线程和多CPU操作,是一个性能稳定的多用户网络操作系统。
2.shell
Shell是操作系统的最外层,是为使用者提供操作界面的终端,shell可以合并编程语言控制及进程和文件,以及启动和控制其他应用程序。简单来讲,shell就是一个用户和操作系统之间交互的命令解析器。
打开shell的方式
1.右键打开 #此方式打开的shell在当前用户的桌面上
2.Application---->System tools---->terminal #此方式打开的shell默认在当前用户的家目录中
3.gnome-terminal #此方式打开的shell默认在当前用户的家目录中
4.当shell已经开启时需要开启一个新的shell,在shell中可以用ctrl+shift+N打开
5.可以在设置中设定任意快捷键执行 gnome-terminal
shell中的快捷键
ctrl+shift+T #在一个terminal中开启多个窗口
ctrl+shift+N #重新打开一个terminal
ctrl+C #取消命令执行
ctrl+d #关闭shell
ctrl+A #快速移动光标到行首
ctrl+E #快速移动光标到行尾
ctrl+K #删除所在字母之前的所有字符
ctrl+U #删除包括所在字母之后的所有字符
shell中常用命令
命令名称+命令参数+命令对象(以空格键分隔)
date
显示系统当前时间
[westos@westos_student3 Desktop]$ date
Sun Jul 18 15:08:06 CST 2021
echo
在显示器上显示一段文字,起到提示作用
[westos@westos_student3 Desktop]$ echo Hello!
Hello!
ls
列出目录的文件和目录
[westos@foundation36 ~]$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
pwd
显示当前工作目录
[root@foundation36 ~]# cd /etc
[root@foundation36 etc]# pwd
/etc
cd
更改工作目录路径
cd/cd~ #进入用户主目录
cd- #进入此目录之前所在的目录
cd. . #返回上级目录
[root@foundation36 ~]# cd /etc
[root@foundation36 etc]# pwd
/etc
mandb
手动更新系统中的数据库
获取帮助的命令
whatis 命令 #查看命令用法
命令 --help #查看帮助
命令自动补全:Tab
快速进入/usr/src/kernels/目录,则可以执行:
[root@foundation36 ~]# cd /u(Tab)/sr(Tab)/k(Tab)
reboot
reboot命令用于重启系统,只能默认root用户来使用
[root@westos_student3 ~]# reboot
history
对历史命令的查看和调用
[root@westos_student3 ~]# history
1 date
2 echo Hello!
3 date --help
4 cal
5 history
6 touch file{1..3}
7 rm file{1..3}
8 mkdir -r dir{1..3}
9 mkdir dir{1..3}
10 rm -fr dir{1..3}
11 history
“!”+ 数字 #调用指定行历史
[root@westos_student3 ~]# !4
cal
July 2021
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
“!”+ 字符 #调用以此字符开头的最经历史
+ #开启历史搜索模式,命令行显示会变为:(reserve-i-search)‘:输入关键字(例如:rm),会显示含有此关键字的最近一条历史。
(reverse-i-search)`rm': ^C -fr dir{1..3}
history -c #清空当前指定行历史
#永久清空需要清理文件 .bash_hisrory
[root@westos_student3 ~]# history -c
[root@westos_student3 ~]# history
1 history
二. Linux下的文件管理
1.touch
创建文件命令
[westos@foundation36 Desktop]$ touch file1 file2 file3
[westos@foundation36 Desktop]$ ls
file1 file2 file3 vncviewer.desktop
这时候桌面上就会出现三个文件。
touch file #把文件时间修改到当前时间
[westos@foundation36 Desktop]$ ls -l file1
-rw-rw-r--. 1 westos westos 0 Jul 19 13:39 file1
[westos@foundation36 Desktop]$ touch file1
[westos@foundation36 Desktop]$ ls -l file1
-rw-rw-r--. 1 westos westos 0 Jul 19 13:48 file1
touch -t YYYYMMDDHHmm file #把文件时间修改到指定时间
[westos@foundation36 Desktop]$ touch -t 202108080808 file2
mkdir
建立目录
[westos@foundation36 Desktop]$ mkdir dir1 dir2 dir3
[westos@foundation36 Desktop]$ ls
dir1 dir2 dir3 file1 file2 file3 vncviewer.desktop
建立多层目录
[westos@foundation36 Desktop]$ mkdir -p dir0/dir/linux
[westos@foundation36 Desktop]$ cd dir0
[westos@foundation36 dir0]$ ls
dir
[westos@foundation36 dir0]$ cd dir
[westos@foundation36 dir]$ ls
linux
rm
#删除文件或目录
-f表示的是强制删除,没有提示,-r表示删除目录
[westos@foundation36 Desktop]$ rm -fr dir0
[westos@foundation36 Desktop]$ rm -fr *
[westos@foundation36 Desktop]$ ls
gedit
#图形文本编辑器,使用时必须有图形,文件可以不存在
vim
#文本编辑器
vim file
#进入到vim的浏览模式,浏览模式不能编辑文件,在浏览模式中按进入插入模式,在vim中鼠标不能控制光标用上下左右移动光标,按退出插入模式,按:wq保存更改,:q 当vim打开文件后未作任何操作可以直接退出,:q! 当vim打开文件后修改文件内容但不想保存可以强制退出.
vim异常退出:
当vim编写文件时在未保存更改内容被强制关闭,vim出现异常
#[O]只读打开文件
#(E)继续编辑
#®恢复未保存内容编辑
#(D)删除.swp文件进入编辑
#(Q)退出当前文件编辑
#(A)退出vim程序
cat
cat file #显示文件的全部内容
cat -n file##显示文件内容并显示行号
cat -b file #显示文件内容并显示行号,不显示空行的行号
[westos@foundation36 Desktop]$ cat -b file
1 hello
2 linux
head
#查看文件前多少行
head -n file #n代表数字显示文件的前n行,不带-n默认显示文件前10行
将history命令输入到file文件中,输入head命令,就可以看到内容
[westos@foundation36 Desktop]$ history >> file
[westos@foundation36 Desktop]$ head -5 file
hello
linux
1 touch file1 file2 file3
2 mkdir dir1 dir2 dir3
tail
#查看文件后多少行
tail -n file #n代表数字显示文件的前n行,不带-n默认显示文件后10行
[westos@foundation36 Desktop]$ tail -5 file
8 rm 0fr *
9 rm -fr *
10 vim file
11 cat file
12 history >> file
less
##分页浏览
##less file 进入到less模式查看file
#less模式中 上/下键逐行查看文件内容
#逐页查看文件内容
#/关键字 搜索关键字 n 向下匹配 N 向上匹配
#按v在有less模式进入到vim 编辑完成:wq退出返回less
#在less中按q退出
cp
##复制文件
cp 文件 目的地文件
cp 文件1 文件2 目的地目录
cp -r 目录1 目录2
复制原理:按照源文件建立新文件(抄作业)
[westos@foundation36 Desktop]$ cp file file1
[westos@foundation36 Desktop]$ ls
file file1
[westos@foundation36 Desktop]$ mkdir dir
[westos@foundation36 Desktop]$ cp file1 file dir
[westos@foundation36 Desktop]$ ls dir
file file1
复制目录:
[westos@foundation36 Desktop]$ cp -r dir dir1
[westos@foundation36 Desktop]$ ls dir1
file file1
mv ##移动文件
mv file dir
mv dir dir1
#移动原理:
相同设备分区中的文件移动是重命名过程
不同分区的文件移动是建立删除过程
#ls -i file 查看文件节点号(相当于身份证号)
举例说名复制和移动的区别:
[root@foundation36 ~]# ls -i file1
271175990 file1
[root@foundation36 ~]# cp file1 file
[root@foundation36 ~]# ls -i file
271175989 file #复制id发生改变
[root@foundation36 ~]# mv file1 /mnt
[root@foundation36 ~]# ls -i /mnt/file1
271175990 /mnt/file1 #移动id不发生改变
文件容量统计
wc -l 行数
wc -m 字符数
wc -w 单词数
wc -c 字节数
[root@foundation36 ~]# cat file
hello
welcome to xi'an!
[root@foundation36 ~]# wc -l file
2 file
[root@foundation36 ~]# wc -m file
25 file
[root@foundation36 ~]# wc -w file
4 file
[root@foundation36 ~]# wc -c file
25 file
相对路径和绝对路径
相对路径:
绝对路径名称的简写,省略了用户当前所在的系统位置
此名称只有在管理当前所在系统目录中子文件时才能使用
系统中不以/开有的文件名称都为相对路径在程序操作时
会自动识别当前路径的信息并关联操作目标
绝对路径 :
文件在系统中的真实位置,在任何场景下都可以使用
通常以/开头,不会考虑当前系统位置
文件批量处理
字符集合表示方法:
[] #条件是或者关系是模糊匹配,对象和几个对匹配u就操作几个
#[1-10] 指1-10 [!d-f]|[^d-f]除了d-f以外
{} #点名机制,精确指定集合中的每一个元素
? #匹配单个字符
*(星号) #匹配任意字符
[[:alpha:]] #单个字母
[[:lower:]] #单个小写字母
[[:upper:]] #单个大写字母
[[:digit:]] #单个数字
[[:alnum:]] #单个字母或数字
[[:punct:]] #单个符号
[[:space:]] #单个空格
示例:
g* #以g开头的任一文件
b*.txt #以b开头,以txt结尾的任一文件
[abc]* #以abc中任一个开头的任一文件
BACKUP.[0-9][0-9][0-9] #以backup开头,后面紧跟三个数字的任一文件
[[:upper:]]* #以大写字母开头的任一文件
[![:digit:]]* #不以数字开头的任一文件
*[[:lower:]123] #以小写字母或数字1、2、3中任一个结尾的任一文件