Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
利用虚拟机软件搭建Linux学习环境简单,容易上手,重要的是利用虚拟机模拟出来的Linux与真实的Linux几乎没有区别。
使用虚拟机系统环境,我们可以随意对虚拟系统进行设置和更改操作,甚至可以格式化虚拟机系统硬盘,进行重新分区等操作,而且不用担心会丢掉有用数据,因为虚拟机是系统上运行的一个虚拟软件,对虚拟机系统的任何操作都相当于在操作虚拟机的虚拟机设备和系统,不会影响计算机上的真实数据。
rht-vmctl start desktop ##打开ia虚拟机
rht-vmctl view desktop ##显示虚拟机
rht-vmctl poweroff desktop ##关闭虚拟机
rht-vmctl reset desktop ##重置虚拟机
ls命令 ##查看有什么东西
ls的命令格式:
命令 参数 目标
ls -l test ##查看test中的短参数
ls --size test ##查看test中的长参数
--size ##长参数
-l ##短参数
注意:
1.参数用来指定命令的某些功能,可以加也可以不加
2.命令和参数和目标之间要用空格分开
3.在执行命令时通常遵循这些规则,特殊情况除外
4.命令必须在命令提示符后输入,没有提示符的输入是无效的
命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。例如:
[kiosk@foundation2 ~]$
[1] [2] [3] [4][5]
[1]kiosk:
当前用户,运行shell的是谁
[2]@
分割符号
[3]foundation2
主机名短名称
[4]~
所在当前主机位置
[5]$
身份提示符
$表示普通用户
#表示超级用户
Linux系统一般有四个主要部分:
内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。
内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。
Linux下的文件类型主要有:
1)普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。分为纯文本和二进制。
2) 目录文件:目录,存储文件的唯一地方。
3) 链接文件:指向同一个文件或目录的的文件。
4) 设备文件:与系统外设相关的,通常在/dev下面。分为块设备和字符设备。
5)管道(FIFO)文件 : 提供进程建通信的一种方式
6)套接字(socket) 文件: 该文件类型与网络通信有关。
可以通过ls –l, file, stat几个命令来查看文件的类型等相关信息
目录提供了管理文件的一个方便而有效的途径。Linux采用的是倒树型结构。最上层是“/”(根目录),是最大的目录。其他的所有目录都是从根目录出发而生成的。
/bin ##二进制可执行文件,系统常规命令 -----------最重要
/boot ##启动目录,存放系统自动启动文件,内核,初始化程序--------
/dev ##系统设备管理文件-----------------------
/etc ##大多数系统配置文件存放路径(重要目录)-----------
/home ##普通用户家目录(登录系统默认在的地方,包含在超级用户家目录中)-------
/lib ##函数库
/lib64 ##64位函数库
/media ##临时挂载点
df ##查看
/mnt ##临时挂载点
/opt ##第三方软件安装目录
/proc ##系统硬件信息和进程信息
/root ##超级用户家目录
/run ##自动临时设备挂载点
/sbin ##系统管理命令,通常只有root可以执行----------
/srv ##系统数据目录
/var ##系统数据目录
/sys ##内核相关数据
/tmp ##临时文件产生目录
/usr ##用户相关信息数据
touch filename ##touch 本来是用来更改文件的时间戳,文件没有自动建立
% mkdir test ##新建目录
% cd test ##更改目录
% mkdir --help ##查询帮助
mkdir -p redhat/home/linux ##-p创建多级目录
mkdir directory
mkdir -p dir1/dir2/dir3
mkdir -p ##建立递归目录,当上层目录不存在时自动建立
rm file ##删除文件
rm -f file 也可rm test -fr ##不询问y/n,直接删除文件
rm -f=--force ##表示强制删除不提示
%%rm -r test ##删除目录及里面的文件
%%rm -fr test ##不询问y/n,直接删除目录及目录下文件
%%rm -fr /* 也可以rm -f -r test ##删除系统
rm -r directory ##-r表示递归删除,也就是删除目录本身及里面的内容
rm -r -f dir ##删除目录不提示
= rm -fr dir
= rm -rf dir
gedit file ##必须有图形
vim file ---->按[i]进入插入模式----->书写内容------>按[esc]退出插入模式---->:wq 保存退出
写笔记时候建议用vim写,即便死机,下次开机不丢失内容。
当vim异常退出时,会生成file.swp。
[O]pen Read-Only 打开只读 ; (E)dit anyway 继续编辑; ®ecover 恢复数据; (D)elete it 删除swp文件;(Q)uit 退出; (A)bort 退出
注意:删除了.swap文件之后,再次打开,vim恢复正常。
cp##复制
复制格式:
cp 源文件 目的地文件
cp -r 源目录 目的地目录
cp 源文件1 源文件2 目的地文件
cp -r 源目录1 源目录2 目的地目录
cp file /mnt ##复制到根下的mnt下
cp -r text /mnt ##复制目录+ -r参数
cp file1 file2 /mnt ##同时复制两个文件
cp -r text1 text2 /mnt ##同时复制两个目录
man ##查看详细手册
mv 源文件 目的地文件 ##文件重命名
mv 源目录|源文件 目的地目录
cat file ##查看文件的全部内容
cat -b ##显示行号
less file ##分页浏览
用法:
上|下 ##逐行行移动
/keyword ##高亮显示关键字,n向下匹配,N向上匹配
:q ##退出
1).文件的地址分为:
相对路径:
相对于当前系统所在的目录的一个文件名称的简写
此名称省略了系统当前所在的目录的名称
此名称不以“/”开头
绝对路径:
绝对路径是文件所在的真实位置
此路径三以“/”开头
此路径在寻找i时不会考虑现在所子阿位置信息
2)pwd #查看当前的绝对路径,绝对路径都是以根开头的
pwd ##查看当前的绝对路径
cd 目录名称 ##进入制定目录中
cd- ##目录的切换和当前目录之前所在目录之间进行切换
cd~ ##默认进入当前用户家目录
cd .. ##进上层目录
ls
ls -l fiel ##查看文件属性
ls dir ##查看目录中包含的内容
ls -d dir ##显示目录本身
ls -a dir ##显示所有文件(包含隐藏文件)
ls -S dir ##查看并按照大小排序
cat ##输出文件全部内容
less ##分页浏览
head file ##查看文件前10行
head -n file ##查看文件前5行
tail file ##查看文件后10行
tail -n 5 file ##查看文件后5行
tail -f file ##实时监控文件内容
ctrl+c ##退出监控
wc
wc -l ##行数
wc -w ##单词数
wc -c ##字节数
history ##查看命令
history -c #清除当前share环境的历史命令
!数字 ##调用此行历史命令
!63 ##调用第63行命令
!test ##调用历史命令中最近一次以test开头的命令(执行以test关键字开头的最近一条命令)
!echo ##调用历史命令中最近一次以echo开头的命令
+ r + 关键字 ##调用历史中最近一条含有此关键子的命令
whatis
命令 --help ##查看命令的基本用法,适用于多数命令
[ ] ##表示选项可以加也可以不加
... ##表示选项加入的个数任意
< > ##表示选项必须要加入的
Usage ##标出命令用法
Options ##对参数作用做说明
man 命令
man 5 文件
同less
*##匹配0到任意字符
?##匹配单个字符
[[:alpha:]] ##单个字母
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:digit:]] ##单个数字
[[:punct:]] ##单个符号
[[:alnum:]] ##单个字母或数字
[1-9] ##1位,是1-9的任意数
[!3-5] ##1位,不是3-5的数字
[^3-5] ##1位,不是3-5的数字
{1..3} ##3个,1 2 3这三个数
{1,3,5} ##3个,1,3,5这三个数
![在这里插入图片描述](https://img-blog.csdn.net/20180929175222507?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjIxMzYyMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
su - student #切换用户
##输出重定向
> ##重定向正确输出
2> ##重定向错误输出
&> ##重定向所有输出
注意: 重定向会覆盖原文件内容
find /etc/ -name passwd > file ##重定向正确输出到file
find /etc/ -name passwd 2> file.err ##重定向错误输出到file.err
find /etc/ -name passwd &> file.all ##重定向所有输出到file.all
####输出追加####
#追加正确输出
2>> ##追加错误输出
&>> ##追加全部输出
find /etc/ -name passwd &>> file.all ##追加所有输出到file.all
find /etc/ -name passwd >> file ##追加正确输出到file
find /etc/ -name passwd 2>> file.err ##追加错误输出到file.err
追加默认到文件最后
##输入重定向
cat > file <
13. 管道的作用
1.管道的作用
“|”管道的作用是把前一条命令的输出变成后一条命令的输入。
注意:
管道只允许正确输出结果通过,不允许错误的结果通过
通过管道的输出捋会变成输入
如果需要保存输出内容,那么需要复制一份输出,命令是tee
此实验在普通用户下操作:
find /etc/ -name passwd | wc -l ##看到结果为2,因为错误输出不能通过管道
find /etc/ -name passwd 2>&1 | wc -l ##看到节uo为19,因为错误输出被转换为正确输出
fine /etc/ -name passwd 2>&1 | tee file | wc -l ##保存一份输出到file再统计行数统计行数
2>&1 ##把错误的输出重定向为正确的输出
你可能感兴趣的:(操作系统,linux,Linux)