Linux介绍、命令
操作系统
作用
-
是现代计算机系统中最基本和最重要的系统软件
-
是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展
-
☆ 主要作用是管理好硬件设备,并为用户和好应用程序提供一个简单的窗口,以便于使用,作为中间人,连接软件和硬件
-
而其他的诸如编译程序,数据库管理系统,以及大量的应用软件,都直接依赖操作系统的支持
不同应用领域的主流操作系统
- 桌面操作系统
- 服务器操作系统
- 嵌入式操作系统
- 移动设备操作系统
1> 桌面操作系统
- Windows系列
- 用户群体大
- macOS
- 适合于开发人员
- Linux
- 应用软件少
2> 服务器操作系统
- Linux
- 安全、稳定、免费
- Windows Server
- 付费
- 占有率低
3> 嵌入式操作系统
- Linux
4> 移动设备操作系统
- IOS
- Android(基于Linux)
虚拟机
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
- 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能
- 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响
- 而且能够在现有系统与虚拟镜像之间灵活切换的一类操作系统
Linux发现历程
- Unix -> Minix -> Linux
Linux的应用领域
服务器领域
- Linux 在服务器领域的应用是其重要分支
- Linux免费、稳定、高效的特点在这里得到了很好的体现
- 早期因为维护、运行等原因同样受到了很大的限制
- 近些年来Linux服务器巿场得到了飞速的提升,尤其在一些高端领域尤为广泛
嵌入式领域
- 近些年来 Linux在嵌入式领域的应用得到了飞速的提高
- Linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、历都是其应用领域,得到了Goagle、三星、摩杆罗拉、NEC等公司的大力推广
个人桌面领域
- 此领域是传统Linux麻用最薄弱的环节
- 传统Linux由于界面简单、操作复杂、应用软件少的缺点,一直被Windows 所压制
- 近些年来随看Ubuntu、Fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux在个人桌面领域的占有率在逐渐的提高
Centos 图形界面
Centos 的桌面
文件和目录
Windows 和 Linux 文件系统的区别
Windows 下的文件系统
- 在Windows下,打开“计算机”,我们看到的是一个个驱动器盘符
-
每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:
Linux 下的文件系统
-
!:Linux没有盘符的概念,只有根目录的概念;就算插入优盘也不会显示盘符,只会在某个文件夹里
-
在Linux下,我们是看不到这些驱动器盘符的,我们看到的是文件夹(目录)∶
-
Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面
用户目录
位于 /home/user
,称之为用户工作目录或家目录,表示方式:
/home/user
~
Linux 主要目录速查表
-
/∶根目录,一般根目录下只存放目录,在linux下有且只有一个根目录,所有的东西都是从这里开始。
- 当在终端里输入
/home
,其实是在告诉电脑,先从 / (根目录)开始,再进入到home
目录
- 当在终端里输入
-
/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 Ils、tar、mv、cat等
-
/boot:放置linux系统启动时用到的一些文件,如linux的内核文件:
/boot/vmlinuz
,系统引导管理器:/boot/grub
-
/dev︰存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱
mount /dev/ cdrom /mnt
-
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有
- /etc/inittab
- /etc/fstab
- /etc/init.d
- /etc/X11
- /etc/sysconfig
- /etc/xinetd.d
-
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下。
~
表示当前用户的家目录~ edu
表示用户edu
的家目录
-
/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
-
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下
-
/mnt:/media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
-
/opt:给主机额外安装软件所摆放的目录
-
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件
有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
-
/root:系统管理员root的家目录
-
/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能 "查看" 而不能设置和使用
-
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
-
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在/srv/www 内
-
/usr︰应用程序存放目录
- /usr/bin:存放应用程序
- /usr/share:存放共享数据
常用 Linux 命令的基本使用
命令行程序
- 终端 - terminal
cd 切换文件夹
- cd /home:绝对路径,以根目录开头
- cd admin:相对路径,不以根目录开头
- cd .. : 返回上级目录
- cd ~ : 到自己的家目录 /home/admin
- cd - :电视回看功能(上一个操作)
pwd 查看当前目录
ls 查看当前文件夹下的内容
-
ls -a:把当前文件夹所有的东西都显示出来,包含隐藏文件,影藏文件是以 . 开头的文件
-
ls -l:显示更详细的信息(常用)
-
过于常用,所以有快捷的命令 :ll
-
-
ls -lh(或者ls -hl) :把文件以更人性化(看得懂)的方式显示
- 顺序无关,但是只有h的话不显示
mkdir 创建文件夹
- mkdir tupian :在当前目录下创建文件夹
- mkdir /home/admin/tupian :以绝对路径创建文件夹
- mkdir /home/admin/a/tupian -p :如果上级目录不存在,加上-p自动创建父目录
- mkdir a b:在当前目录创建多个文件夹
- mkdir a/{c,d}:在指定目录下创建多个文件夹
- mkdir .abc :以 . 开头是创建隐藏文件夹
touch 创建空文件
- touch abc.txt :在当前目录下创建;如果指定了目录,必须保证上级目录存在
- touch .abc : 创建隐藏文件
- gedit abc.txt :使用记事本打开文件 (如果没有此文件,直接创建)
rm 删除文件
- rm a.txt:删除文件
- rm abc -r :删除文件夹
- rm * -r :不能删除隐藏文件;隐藏文件只能通过写名称一个一个删
快捷键
自动补全
- 在敲出
文件
/目录
/命令
的前几个字母之后,按下tab
键- 如果输入的没有歧义,系统会自动补全
- 如果还存在其他
文件
/目录
/命令
,再按一下tab
键,系统会提示可能存在的命令
其他
-
按
上
/下
光标键,可以在曾经使用过t的命令之间来回切换 -
如果想要退出选择,并且不想执行当前选中的命令,可以按
ctrl + c
-
ctrl + shift + =
放大终端窗口的字体显示 -
ctrl + –
缩小终端窗口的字体显示
Linux 终端命令格式
终端命令格式
command [options] [parameter]
说明
command
:命令名,相应功能的英文单词或单词的缩写options
:选项,可用来对命令进行控制,也可以省parameter
︰传给命令的参数,可以是零个、一个或者多个
[] 代表可选 ,比如pwd命令后面两个就可以都不填
查阅命令帮助信息
--help
command --help
说明
- 显示
command
命令的帮助信息 (中文)
man
man command
说明:
- 查阅
command
命令的使用手册
man
是 manual 的缩写,是 Linux 提供的一个手册,包含了绝大部分的命令、函数的详细使用说明
使用 man
时的操作键:
权限
drwxrwxr-x
- 第一个字母
d
: 代表文件夹-
:代表文件
rwx rwx r-x
-
rwx中r、w、x的含义:
- r:可读 ; w:可写 ; x:可执行
-
一共有三组,每组的含义是:
- 第一组指文件的拥有者的权限
- 第二组代表文件拥有的组的权限
- 第三组代表其他用户的权限
Linux 基本命令
ls - 查看其他目录的内容
-
通配符
-
ls -la /home :查看指定文件夹内容(不再用cd)
-
ls *txt :查看当前目录下所有以 txt 结尾的文件
cp - 拷贝
- cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
cp 1.txt 2.txt
前面是源文件,后面是目标文件
-
常用选项说明:
-
cp 1.txt 2.txt
cp abc abc_bak -r :拷贝文件夹
mv:移动、重命名
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
mv 1.txt 2.txt
-
常用选项说明
-
mv 1.txt 2.txt
:重命名 -
mv 1.txt ~
:移动到指定目录
输出重定向命令:>
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
ls >test.txt (test.txt如果不存在,则创建,存在则覆盖其内容)
- 注意:>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。
- ls > 1.txt :把命令返回的结果输出到文件中,会覆盖之前的数据,默认情况命令返回的结果是显示在屏幕中
- ls >> 1.txt :把命令返回的结果输出到文件中,追加的方式
查看或合并文件内容:cat
cat test1.txt test2.txt
-
cat 1.txt :把文件的内容全部显示到屏幕中
-
cat 1.txt 2.txt
-
cat 1.txt 2.txt > 3.txt :把多个文件的内容合并到新的文件中
more - 查看文件内容,可以分页显示
- ls / >>1.txt
- more 1.txt :查看内容多的文件,按空格键往下翻页,按b按键往回翻页,按q键退出
管道 :|
-
管道:一个命令的输出可以通过管道做为另一个命令的输入。
-
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ |"的左右分为两端,左端塞东西(写),右端取东西(读)。
ls / | more
ls -l / | more
:把左边的命令返回的结果交给右边命令进行处理
建立链接文件:ln
Linux链接文件类似于Windows下的缺捷方式。
-
链接文件分为软链接和硬链接。
- 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
- 硬链接︰硬链接只能链接普通文件,不能链接目录。
-
使用格式
硬链接 ln 源文件 链接文件 软链接 ln -s 源文件 链接文件
软链接
-
本身不存储内容,只记录源文件的名称
-
ln -s 1.txt 1_link :给1.txt创建一个软链接,相当于windows中的快捷方式
-
ln -s 1.txt ~/1_link :给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不存在的
-
ln -s /home/admin/1.txt ~/1_link
-
ln -s abc abc_link :给目录创建软链接
硬链接:
-
本身占空间,相当于把源文件复制一份,与源文件同步变化,删除硬链接文件不影响源文件
-
使用
ll
查看时,有一个数字,代表有几个文件能同步发生变化 -
ln 1.txt 1_hard_link
grep:查找文件内容
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
-
grep一般格式为:
-
grep [-选项] '搜索内容串'文件名
-
在grep命令中输入字符串参数时,最好引号或双引号括起来。
例如︰
grep 'a' 1.txt
-
常用选项说明:
-
grep搜索内容串可以是正则表达式
- 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串” ,这个 “规则字符串" 用来表达对字符串的一种过滤逻辑。
-
grep常用正则表达式:
-
开发常用:
-
例子:
grep hello test.txt
:在某个文件中查找包含hello的内容,只要一行中有hello会把整行显示grep -niv hello test.txt
- n显示查找到的内容的行号
- i查找时不区分大小写
- v反向查找,查找不包含hello的行
grep -n hello /home/admin -r
:查找整个目录中的所有文件,包含hello的内容
查找文件:find
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
-
常用用法
-
例子:
find /home -name 1.txt
:在/home目录下查找文件名为1.txt的文件find /home -name '*txt'
:在/home目录下查找以txt结尾的文件
归档管理:tar
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
-
tar 使用格式 :
tar [参数] 打包文件名 文件
打包 tar cvf a.tar *.txt 解包 tar xvf a.tar -c atar
-
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
打包
tar cvf a.tar 1.txt 2.txt
:f必须放在最后- f 后面的第一个参数代表要生成的文件名,后面所有的参数是要打包的文件
列出包里面的文件
tar tf a.tar
解包
-
tar xvf a.tar
:如果没写目录,把包里面的文件解开放到当前目录 -
tar xvf a.tar -C tar
:解包到指定的文件夹,文件夹需要提前创建好(一定注意是大写的C)
文件压缩解压:gzip
-
tar与gzip命令结合使用实现文件打包、压缩。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
-
gzip使用格式如下:
gzip [选项] 被压缩文件
-
常用选项
压缩与解压
-
压缩
-
打包
tar cf a.tar * : 生成a.tar文件
-
压缩
gzip -r a.tar : 生成a.tar.gz文件
-
-
解压
-
解压
gzip -d a.tar.gz : 生成a.tar文件
-
解包
tar xf a.tar -c ~/atar : 解包到指定文件夹中
-
文件压缩解压:bzip2
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
- tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。
- 在tar命令中增加一个选项
(-j)
可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。 - 压缩用法:tar -jcvf 压缩包包名 文件...
(tar jcvf bk.tar.bz2*.c)
- 解压用法: tar -jxvf压缩包包名 文件...
(tar jxvf bk.tar.bz2)
文件压缩解压:zip、unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
-
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
-
解压文件:unzip -d 解压后目录文件 压缩文件
gzip
- 一步到位 - 打包并且压缩
- tar czf b.tar.gz *txt
:以gzip的方式打包并且压缩
- 一步到位 解压并且解包
- tar zxf b.tar.gz -C btar
:以gzip的方式打包并且压缩
bzip2
tar jcf j.tar.bz2 *txt
tar xjf j.tar.bz2 -c jtar
zip
-
zip -r zz *txt
:zz代表要生成的压缩文件,不需要写扩展名,会自动生成zip扩展名 -
zip -d zz zz.zip
:解压时会自动创建目录
压缩率
- zip < gzip < bzip2
通用性
- zip > qzip > bzip2
查看命令位置 :which
- 看这个命令到底在哪儿(显示它的路径)
切换到管理员账号
- Centos下切换到root的简单命令:su
- 从root 切换回去:su admin
设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。
退出登录账户:exit
-
如果是图形界面,退出当前终端;
-
如果是使用ssh远程登录,退出登陆账户;
-
如果是切换后的登陆用户,退出则返回上一个登陆账号。
查看登录用户:who
who命令用于查看当前所有登录系统的用户信息。
-
常用选项:
-
两种情况:
admin pts/0 admin tty1
- pts 代表一个终端
- tty代表用户登录了操作系统
-
关掉:pkill -kill -t tty1
关机重启:reboot、shutdown
- reboot :不需要权限
- shutdown :需要root权限
修改文件权限:chmod
chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法:
-
chmod u/g/o/a +/-/= rwx文件
- = :设置权限,即把之前的权限换成新的权限
-
chmod u+r test.txt
:给文件的拥有者添加r(读)权限
数字法
- “rwx” 这些权限也可以用数字来代替
-
如执行: chmod u=rwx, g=rx, o=r filename 就等同于: chmod u=7,g=5,o=4 filename
- 7=1+2+4 -->rwx
- 5=1+4 -->r-x
- 4=4 -->r--
-
chmod 751 file
- 文件所有者:读、写、执行权限
- 同组用户:读、执行的权限
- 其它用户:执行的权限
-
chmod 123 test.txt
:第一位数字代表自己的权限,第二位代表自己组的权限,第三位代表其他人的权限 -
3=1+2 代表 wx 权限
编辑器vim
vi简介
-
vi是"Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。vi没有菜单,只有命令,且命令繁多。
Vi有三种基本工作模式: + 命令模式 + 文本输入模式 + 末行模式
命令行模式
任何时候,不管用户处于何种模式,只要按一下ESC键,即可使vi进入命令模式﹔我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
vim基础操作
-
vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富进入插入模式:
i:插入光标前一个字符 I:插入行首 a:插入光标后一个字符 A:插入行未 o:向下新开一行,插入行首 0:向上新开一行,插入行首
-
进入命令模式:
- ESC:从插入模式或末行模式进入命令模式
移动光标:
h : 左移 j : 下移 k : 上移 l : 右移 M : 光标移动到中间行 L : 光标移动到屏幕最后一行 G : 移动到指定行,行号-G w : 向后一次移动一个字 b : 向前一次移动一个字 { : 按段移动,上移 } : 按段移动,下移 ctr-d : 向下翻半屏 ctr-u:向上翻半屏 ctr-f:向下翻一屏 ctr-b:向上翻一屏 gg:光标移动文件开头 G:光标移动到文件末尾
- ESC:从插入模式或末行模式进入命令模式
删除命令
- x:删除光标后一个字符,相当于Del
- X:删除光标前一个字符,相当于Backspace
- dd:删除光标所在行
- n dd删除指定的行数
- D:删除光标处和光标以后所有的内容
- d0:删除光标前本行所有内容,不包含光标所在字符
- dw:删除光标开始位置的字,包含光标所在字符
撤销命令
u : 一步一步撤销
Ctr-r : 反撤销
重复命令
. : 重复上一次操作的命令
文本行移动
>> : 文本行右移
<< : 文本行左移
复制粘贴
yy : 复制当前行;
n yy : 复制n行
p:在光标所在位置向下新开辟一行,粘贴
可视模式
v:按字符移动,选中文本
V:按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本块的删除,复制,左右移动
替换操作
r:替换当前字符
R:替换当前行光标后的字符,直到按esc
查找命令
/ : str查找
n : 下一个
N : 上一个
标签:文件,tar,命令,Linux,基本操作,txt,目录
From: https://www.cnblogs.com/lzy5967/p/16652925.html