Linux
一、Linux的概述
1、了解Linux的历史与Unix的关系、发展趋势
Linux的历史
Unix
- 1969年开始研制/1971年v1发布 Ken Thompson/Dennis Ritchie
BSD
-
1977年
Berkeley Software Distribution
GNU 革奴计划
-
Richard M.Stallman
-
它的宗旨是“Free”
自由p>
免费p>
Minix
- AST——荷兰阿姆斯特丹Vrije大学的Andrew S. Tanenbaum
- 1987年,为了讲解操作系统课程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zkYfLonM-1627458661338)(/Users/acetian/Library/Application Support/typora-user-images/image-20210709155532618.png)]
2、Linux的基本知识、内核版本 、发布版本
(1) Linux概述
-
Linux具备现代一切功能完整的UNIX系统所具备的全部特征,其中包括真正的多任务、虚拟内存、共享库、需求装载、共享的写时复制程序执行、优秀的内存管理以及TCP/IP 络支持等。
-
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等
-
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备由自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
-
完全免费
Linux是一款免费的操作系统,用户可以通过 络或其他途径免费获得,并可以任意修改其源代码。
(2)内核版本
内核版本——主版本 .此版本 .修订次数
-
奇数版本——开发版本
2.5.1
-
偶数版本——稳定版本
2.6.1
-
www.kernel.org
(3)发布版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5N3VUhKD-1627458661341)(/Users/acetian/Library/Application Support/typora-user-images/image-20210709162829605.png)]
(4)四种主要的Linux版本
Debian——诞生于1993年8月13日,目标是提供一个稳定容错的Linux版本;
Mandrake——1998年由一个推崇Linux的小组创立,他的目标是尽量让工作变得更简单;
Red Hat——Red Hat在1994年创业,Red Hat Linux是公共环境中表现上佳的服务器,意在向用户提供一套完整的服务。特别适合在公共 络中使用;
SuSE——总部设在德国的SuSE AG在商业界已经奋斗了8年多,一直致力于创建一个连接数据库的最佳Linux版本。
3、Linux的安装
安装Linux
二 、Linux的操作
1、Linux目录结构
FHS标准(Filesystem Hierarchy Standard):
- /boot:启动目录,内核存放地
- /etc:配置文件存放地
- /tmp:程序产生的临时文件
- /home:用户的目录,新增用户账 时,用户的家目录都存放在此目录
- /lib:库文件,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
- /bin:可执行文件和常用的Linux命令
- /sbin:系统管理员的命令和工具
- /usr:应用程序和文件的安装地
- /mnt:挂接其他文件系统
- /root:root账户的home目录
- /dev:存放Linux系统下的设备文件
-
vi
格式:vi file_name。
说明:上面的命令直接进入vi的命令模式。
-
需要按i键或者a键:
1)i插入文本;
2)a追加文本。
2、Linux命令(重点)
命令模式
可执行的操作:
- :w 保存文件;
- :wq 保存并退出;
- :wq! 保存并强制退出
- :q 退出
- :q! 强制退出
- dd 删除一行文字
- x 删除一个字符
- :n 光标移至文本第n行
- $ 光标移至文本的行尾
- G 光标移至文本的末尾
- / 查找某个字符串 /sdb
Linux管理文件和目录的命令
pwd
-
功能描述:打印用户当前所处的路径。(print work directory)
-
在文本模式下,使用命令:
[root@localhost ~]#pwd
cd
-
功能描述:改变用户所在目录。(change directory)
-
格式:cd
[root@localhost ~]#cd … 返回到当前目录的上一级目录
[root@localhost ~]#cd 返回当前用户的主目录
[root@localhost ~]#cd /home 用路径切换到home目录
ls命令
-
功能描述:显示指定目录下的内容。(list directory)
-
格式:ls[参数] [目录或文件]
-
选项 含义 -a 列举目录中的全部文件,包括隐藏文件 -l 列举目录的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等 -r 逆向,从后向前地列举目录中的内容 -R 递归,该选项递归地列举当前目录下所有子目录内的内容 -s 大小size:数据块 ls-l1.txt 列举文件1.txt的所有信息 [root@localhost ~]#ls /home 显示指定目录/home下的内容
[root@localhost ~]#ls -l 显示当前目录的详细内容。
[root@localhost ~]#ls -a 显示当前目录喜爱的所有文件,包括隐藏文件。
cat命令:显示文本内容
- 例如:在屏幕上显示整个文件的内容:cat 1.txt
touch命令:创建文本(不能插入内容)
- 例如:touch 12.txt
grep命令
-
功能:是在一堆文件中查找一个特定的字符串。
-
grep money test.txt
以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。
cp
-
功能描述:拷贝文件或复制文件。(copy)
-
格式:cp[源文件] [目标文件]
[root@localhost ~]#ls
[root@localhost ~]#cp hello.txt file1.txt 把文件hello拷贝一份,命名为file1
[root@localhost ~]#ls
[root@localhost ~]#cp hello.txt /home/myfile.txt
把当前目录下文件hello拷贝到路径/home并命名为myfile
[root@localhost ~]#ls /home
选项 | 含义 |
---|---|
-i | 互动:如果文件将覆盖目标中的文件,他会提示确认 |
-r | 递归:这个选项会复制整个目录、子目录以及其他 |
-v | 详细:显示文件的复制进度 |
mv命令
-
功能描述:可以对文件或者目录进行移动。
-
格式:mv [源代码] [目的对象]
-
选项 说明 -i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认 -f 强制:不提示地移动文件 -v 详细:显示文件的移动进度 [root@localhost ~]#pwd
[root@localhost ~]#mv /dir1/myfile.txt /dir1/newfile.txt
将文件myfile.txt移动到新的目录下并改名为newfile.txt
[root@localhost ~]#ls /dir1
[root@localhost ~]#mv /home/a_dir /home/test/dir2
将目录a_dir移动到新的目录下并改名为dir2
[root@localhost ~]#ls /home
通过ls命令查看a_dir目录是否被移走
[root@localhost ~]#ls /home/test
通过ls查看dir2目录是否生成
mkdir
-
功能描述:创建目录。(make directory)
-
格式:mkdir [目录名1] [目录名2] ·······
-
[root@localhost ~]#mkdir dir2 创建一个目录dir2
[root@localhost ~]#ls 借助ls命令查看dir2是否创建成功
[root@localhost ~]#mkdir bb cc dd 一次性创建多个目录
mkdir -p aa/bb 目录里面只能嵌套一个目录
rmdir
-
功能描述:删除空目录。(remove directory)
-
格式:rmdir [参数] [目录1] [目录2]······
-
[root@localhost ~]#rmdir dir2 删除一个空目录
[root@localhost ~]#rmdir bb cc dd 删除多个空目录
rm命令
-
功能描述:删除文件。remove
-
格式:rm [参数] [文件]
-
选项 说明 -i 互动:提示确认删除 -f 强制:代替互动模式,不提示确认删除 -v 详细:显示文件的删除进度 -r 递归:将删除某个目录以及其中所有的文件和子目录 [root@localhost ~]#cp dir1/myfie.txt dir1/11.txt
把dir1目录下my file.txt文件拷贝,生成文件名为11.txt文件。
[root@localhost ~]#ls dir1
查看dir目录下的文件内容
[root@localhost ~]#rm myfile.txt
删除当前目录下myfile文件
[root@localhost ~]#rm -r /dir1
删除当前目录下dir1目录,有提示
[root@localhost ~]#rm -rf /dir1
删除当前目录下dir1目录,不提示
[root@localhost ~]#rm -f 11.txt 22.txt 33.txt
删除当前目录下多个文件
线上查询命令
man命令
-
功能:用来查询和解释一个命令的使用方法和这个命令的注意事项。
-
格式:man命令的名称
-
要查询ls命令的说明书页,输入命令:
man ls
退出按下q
locate命令
-
功能:定位文件和目录
-
格式:locate 文件或者目录名字
-
想要搜索带有test的这个词的文件,输入命令:
locate test
locate命令使用数据库来定位带有test这个词的文件或目录。
whatis命令
-
功能:用来查询某个命令的含义。
-
要查询mv命令的含义,输入命令:
whatis mv
文件备份和压缩命令
bzip2命令
-
功能:bzip2来压缩文件
-
格式:bzip2 filename
文件即会被压缩,并被保存为filename.bz2。
-
要解压缩文件,输入命令:
bunzip2 filename.bz2
filename.bz2会被删除,而以filename代替。
-
bzip2 file1 file2 file3 /home/aa
上面的命令把file1、file2、file3以及/home/aa目录中的内容压缩起来。
gzip命令
-
要使用gzip来压缩文件,输入命令:
gzip filename
文件即会被压缩,并保存为filename.gz。
-
要解压缩文件,输入命令:
gunzip filename.gz
filename.gz会被删除,而以filename代替。
-
-r:
递归处理,将指定目录下的所有文件及子目录一并处理;
-
gzip -r file1
上面的命令把file1目录中的内容压缩起来。
tar命令
-
功能描述:将文件或者目录进行打包、或者解压缩。
-
格式:tar [参数] [打包后的文件名] [需要打包的文件或目录]。
-
其中参数包含以下几个:
-
-c 创建压缩文件;
-
-x 展开归档文件;
-
-t 显示包括在tar文件中的文件列表;
-
-z 压缩/解压缩文件(gz格式);
-
-v 写入或读取时,显示所有的文件;
-
-f 指名要展开的归档文件名;
-
-j 压缩或解压缩文件(bz2格式)。
-
[root@localhost ~]#tar cvf test.tar /home/test 将home下目录test打包成tar包
-
[root@localhost ~]#tar xvd test.tar 将test.tar解压缩
-
要创建一个tar文件,输入命令:
tar -cvf filename.tar aa bb
上面的命令将aa、bb放入文件中。
-
要列出tar文件的内容,输入命令:
tar-tvf filename.tar
-
要抽取tar文件的命令,输入命令:
tar-xvf filename.tar
这个命令不会删除tar文件,但会把解除归档的内容复制到当前工作目录下,并保留归档文件所使用的任何目录结构。
-
要创建一个使用tar和bzip2来归档压缩文件,使用-j选项:
tar -cjvf filename.tbz file
-
要扩展并解除归档bzip tar文件,输入命令:
tar-xjvf filename.tbz
-
要创建一个用tar和gzip归档并压缩的文件,使用-z选项:
tar-czvf filename.tgz file
-
要扩展并解除归档gzip tar文件,输入命令:
tar -xzvf filename.tgz
-
文件阅读的命令
head命令
-
head命令可以用来查看文件的开头部分。此命令的格式是:
head 文件名
-
默认设置,他只查看文件的前十行。但可以通过指定一个数字选项来改变要显示的行数,命令如下:
head -20 文件名
这个命令将会查看文件的前20行。
tail命令
-
功能:查看文件结尾的10行。
tail 文件名
-
这有助于查看日志文件的最后10行来阅读重要的系统信息。
more命令
-
功能:按页来查看文件的内容
more使用空格键和b键来前后移动。
more [选项] [fileNames]
more 1.txt
-
选项 含义 -num 一次显示的行数 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) +num 从第num行开始显示 -
使用空格键来先前翻阅页码。按q键退出。
-
当一个目录下文件内容太多,可以用more来分页显示。这得和管道|结合起来ls -al /etc | more -5 “|”表示管道,作用是可以将前面命令的输出当做后面命令的输入。
定位、查找文件的命令
which
-
语法
which 命令
-
说明
依序从path环境变量所列的目录中找出命令的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。
-
范例,找出ls命令的程序文件的位置:
which ls
-
系统输出:
/usr/bin/ls
whereis
-
whereis指令查找符合条件的文件,whereis命令只能定位一些文件在文件系统中的位置。whereis命令一般用于程序名的搜索。
-
语法:
[root@redhat ~]# whereis [-bm] 程序名
-
参数说明:
-b:只找二进制文件
-m:man说明文件,查出说明文档路径
管理使用者和设立权限的命令
chmod命令
-
chmod命令用来改变许可权限。
读取、写入和执行是许可权限中的三个主要设置。
-
r—文件可以被读取
w—文件可以被写
x—文件可以被执行,如果文件是程序的话
可以使用带有-l的ls命令来仔细查看一个文件的许多细节。
-
chmod命令用来设定文件的权限。标准用法:
chmod文件的使用者(u,g,o)增减(+,-,=)权限名称(r,w,x)文件
u 拥有文件的用户 g 所有者所在的组群 o 其他人 a 代表所有 -
删除某一文件的所有权限,输入命令:
chmod a-rwx test.txt
-
为文件所有者添加权限,输入命令:
chmod u+rwx test
-
还可以用数字表示权限:
4——读取,2——写入,1——执行
下面的两个命令等价:
chmod 751 filename
chmod u=rwx,g=rx,o=x filename
useradd与userdel
-
功能描述:添加用户、删除用户。
-
格式:useradd [用户名]
userdel [参数] [用户名]
chgrp命令
- 作用:用于变更文件或目录的所属群组。
chown命令
- 作用:将文件的拥有者改为指定的用户或组。
- 这个指令只有由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以把自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。
su命令
-
功能:用来修改用户。
-
语法:su 用户名
-
假设当前用户root,想要转变为user02,这输入命令:
su -l user02
su 用户 代表切换用户,但是环境变量保持现在的用户的环境变量 su -l 用户 表示切换用户,并载入那个用户的环境变量 -
passwd:修改用户密码
passwd 用户名
有关关机和查看系统信息的命令
退出:exit
- 文本模式下使用快捷键Ctrl+D
重新启动
-
在文本模式下使用命令:
[root@localhost ~]#reboot
也可以使用命令:
[root@localhost ~]#shutdown -r
例如:shutdown -r now 现在立刻重启
? shutdown -r 11:30 等到11:30进行重启
关机
-
在文本模式下,使用命令[root@localhost ~]#halt
也可以使用命令:
[root@localhost ~]#shutdown -h
例如:shutdown -h now 现在立刻关闭系统
? shutdown -h 11:30 等到11:30关闭系统
? shutdown -t 2 在2min内关机
ps命令
ps
-
查看在计算机系统中,有哪些程序正在执行及其执行的情况。
用它来找出所有的process id和名称。
也可以用来列出所有程序占用内存的情况
-
选项 功能 u 列出使用者的名称和使用时间 x 列出所有程序 例如:ps u 查看有关使用者的信息
? ps x 列出所有程序分布情况(查询出所有的进程 pid)
top命令
- 功能:可以查看目前程序的执行情景和内存使用。
- 它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按Ctrl+C键就可以了或者q。
kill命令
- 功能:用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。
- 语法:kill 进程
date
-
date:用来设定和修改现在的时间和日期
-
例如:date -u 使用格林尼治时间
? date -r 1.txt 最后一次修改文件的时间
? date -s 18:00 设置时间
cal 日历
-
若要显示一整年的年历,可以在cal命令后加4位数的年份。
-
例如要显示2017年的年历,必须输入:cal 2017
显示2017年十月份:cal 10 2017
磁盘空间命令
df命令
- 功能:检查硬盘的使用量
- 说明:-a 可以列出全部文件系统和各分区的磁盘使用情况
du命令
- 功能:显示文件目录的大小
- 语法:du 参数 文件名字
- 说明:-ab 列出所有文件和目录所占的空间
络操作命令
-
ifconfig:显示 络设备的状态
-
ping:用于检测主机。
执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的 络功能没有问题,就会回应该信息,因而得知主机运作正常。
-
netstat:知道整个Linux系统的 络情况或显示 络状态。
显示详细的 络状况
#netstat -a
显示UDP端口 的使用情况
#netstat -apu
其他的命令
clear
-
功能描述:清屏(清除当前命令窗口内容)。(clear)
-
格式:clear
[root@localhost ~]#clear 清屏
echo
-
功能描述:在显示屏上回显文字或者用来查看环境变量的值。
-
格式:echo [需要显示的内容]
[root@localhost ~]#echo “hello, boy” 显示hello,boy
[root@localhost ~]#echo $PATH 查看PATH的取值,是否有/sbin目录
uptime
- 功能:系统运行时间
wc
-
功能:用于计算字数。
-
语法:wc 参数 文件名
在默认的情况下,wc将计算指定文件的行数、字数,以及字节数
-
参数:
-c 只显示Bytes数 -l 只显示行数 -w 只显示字数
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24975 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!