黑马程序员技术交流社区

标题: Linux学习--常用命令 [打印本页]

作者: TomGe    时间: 2018-7-12 16:42
标题: Linux学习--常用命令

1 .Linux概述
1.1 Unix介绍
Unix是一个强大的多用户、多任务操作系统。

于1969年在AT&T(美国电话电报公司)的贝尔实验室开发。

UNIX的商标权由国际开放标准组织(The Open Group)所拥有。

UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。



1.2 Linux介绍
Linux是一套免费的类Unix操作系统

Linux是一套免费使用和自由传播的类Unix操作系统,可以任意修改其源代码。

Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。



Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

Linux操作系统诞生于1991 年10 月5 日。芬兰大学生林纳斯-托瓦兹(Linux Torvalds)和后来陆续加入的众多爱好者共同开发完成。

   

Linux的特点:它是多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能.

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。




1.3 Linux的历史
Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.



1.4 Linux系统的应用
服务器系统:Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;

嵌入式系统:路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,

高性能运算、计算密集型应用:Linux有强大的运算能力。

桌面应用系统

移动手持系统



动物世界
主演:李易峰 / 迈克尔·道格拉斯 / 周冬雨

猫眼电影演出 广告
购买


1.5 Linux的版本
Linux的版本分为两种:内核版本(https://www.kernel.org/)和发行版本。

内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。

发行版本是一些组织和公司根据自己发行版的不同而自定的。



1.6 Linux的主流版本


RedHat Linux

Red Hat领导着Linux的开发、部署和经营,从嵌入式设备到安全网页服务器,它都是用开源软件作为Internet基础设施解决方案的领头羊。

Red Hat解决方案包括Red Hat Linux、开发人员和嵌入式技术,以及培训、管理和技术支持。

Ubuntu

Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统。

Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

为桌面虚拟化提供支持平台

CentOS

CentOS 是Linux发行版之一。

由Red Hat Enterprise Linux提供的源代码编译而成。很多公司使用CentOS替代商业版RedHat Linux。

RedHat 和CentOS差别不大,Red Hat Linux 和Centos系统是免费的。

Red Hat Linux 服务是收费的,比如免费版本不支持在线升级

Centos每个版本服务都是免费的.



2 .Linux安装
2.1 什么是虚拟机
虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

虚拟机软件:

VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,收费的。VMware是全球桌面到数据中心虚拟化解决方案的领导厂商

VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox



2.2 安装VMware
参考《01.VMware使用.doc》官网www.javahelp.com.cn下载



2.3 安装CentOS
参考《02.Linux(CentOS)安装.doc》官网www.javahelp.com.cn下载

安装Basic Service 版



2.4 Linux目录结构


/: 根目录,一般根目录下只存放目录,不要存放文件。

/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin: /usr/bin:  (binaries)存放二进制可执行文件。如常用的命令ls、tar、mv、cat等。

/boot: 放置linux系统启动时用到的一些文件。

/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

/dev:(devices) 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备。

常用的是挂载光驱mount /dev/cdrom /mnt。

/etc:(etcetera) 系统配置文件存放的目录,不建议在此目录下存放可执行文件。

重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。

/home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib: (library) /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。

/root: 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

/sbin: (super user binaries)  /usr/sbin:   /usr/local/sbin: 放置系统管理员使用的可执行命令。

如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

/usr:(unix shared resources) 应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间。

/var:(variable) 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动

/opt: 给主机额外安装软件所摆放的目录。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/tmp:(temporary) 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv: 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/mnt:/media:(mount) 光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。

/proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等



2.5 CRT工具使用
参考《03.CRT连接linux.doc》官网www.javahelp.com.cn下载



3 .常用命令
3.1 磁盘管理
3.1.1 ls命令
ls(list)功能:列出目录内容

格式:ls [参数] [文件或目录]

    -a或--all   下所有文件和目录。注意隐藏文件、特殊目录、. 和 ..

    -l   使用详细格式列表。

    -t   用文件和目录的更改时间排序。

    -r 反向排序

    --help   在线帮助。

常用

    ls -l  --> 此命令非常常用,提供简化版命令 ll

    ls -al

    ll /home/  --> 显示指定目录下的内容









3.1.2 cd命令
cd(change directory) 功能:切换目录

语法:cd [目录]

常用

cd ~ ,当前用户目录

cd / ,根目录

cd - ,上一次访问的目录

cd .. ,上一级目录

cd  ,缺省当前用户目录





3.1.3 pwd命令
pwd(print working directory) 功能:显示工作目录



3.1.4 mkdir命令
mkdir(make directoriy)功能: 创建目录

-p 父目录不存在情况下先生成父目录 (parents)

-v 显示命令执行过程中的详细信息



mkdir -pv ./abc/123





3.2 文件管理—文件浏览
3.2.1 cat命令
cat(catenate)功能:显示文本文件内容

语法:

cat 文件  ,显示指定文件的所有内容





3.2.2 more命令
more功能:分页显示文件内容,还支持直接跳转行等功能。

语法:more file

操作

Enter    向下n行,需要定义。默认为1行

空格键  向下滚动一屏 或 Ctrl+F

B   返回上一屏 或 Ctrl+B

q   退出more



more  /root/install.log





3.2.3 less命令
less功能:分页显示文件内容,操作更详细。

语法:less [参数] 文件

-m  显示类似more命令的百分比

-N  显示每行的行号

操作

空格键:前进一页 或 page down

b:后退一页 或 page up

d:前进半页

u:后退半页

回车键:前进一行 或 方向键向下

y:后退一行 或 方向键向上

/字符串:向下搜索

?字符串:向上搜索

v:进入vim编辑器

左右方向键:相当于水平滚动条

q:退出



less -mN /root/install.log





3.2.4 tail命令
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

格式:tail[必要参数][选择参数][文件]

-n<行数> 显示行数

-f 循环读取



ping 127.0.0.1 > ip.log &

tail -f ip.log



& 表示后台运行,否则占用终端

ctrl + c 退出



3.3 文件管理—文件操作
3.3.1 cp命令
cp(copy)功能:复制文件或目录。

语法:cp [参数]   [源文件或目录]  [目标文件或目录]

-r或--recursive  递归处理,将指定目录下的文件与子目录一并处理。



cp ./abc ./xxx    #无法复制目录

cp -r ./abc ./xxx   #复制目录必须使用 -r参数





cp ip.log ip2.log

cp ip.log ip2.log

cp -b ip.log ip2.log





3.3.2 mv命令
mv(move) 功能:移动或更名现有的文件或目录。

语法:mv  [源文件或目录][目标文件或目录]

-f或--force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。



mv ./abc/123/ ./xxx/111   #移动一个空目录 或 一个文件





cp ip.log ./abc/ip.log

mv ip.log ./abc/ip.log

mv -f ip.log ./abc/ip.log





3.3.3 rm命令
rm(remove) rm 功能:删除文件或目录。

语法:rm [-dfirv][--help][--version][文件或目录...]

-f或--force  强制删除文件或目录。

-r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。



rm ./ip2.log

rm -f ./ip2.log   #强制删除文件

rm -f ./xxx

rm -rf ./xxx   #强制删除目录





3.3.4 find命令
find功能:查找文件或目录。

语法:find [目录...] [参数]

-name 指定字符串作为寻找文件或目录的范本样式。



find /root/ -name 'test*'



3.4 文档编辑
3.4.1 vi 或 vim 命令
3.4.1.1 基本操作
输入“vim 文件名”进入“一般模式”

按下“i”从一般模式,进入“插入模式”

按下“esc”从“插入模式”退出到“一般模式”

在“一般模式”下,输入“:wq”,退出编辑。



3.4.1.2 vi基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

1) 命令行模式command mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。



3.4.1.3 常用命令
分组

命令

描述

插入



(从一般模式进入到插入模式)

i

在光标前插入

shift + i

在光标当前行开始插入

a

在光标后插入

shift + a

在光标当前行末尾插入

o

在光标当前行的下一行插入新行

shift + o

在光标当前行的上一行插入新行


复制或粘贴



(在插入模式下)

yy

单行复制

将光标移动到将要复制的行处

nyy

多行复制

将光标移动到将要复制的首行处

p

粘贴

将光标移动到将要粘贴的行处


定位

gg

到文本的第一行

shift + g

到文本的最后一行


删除

dd

删除光标所在行

ndd

删除n行


退出

:q

退出vi(没有做任何修改时)

:q!

强制退出不保存

:w

保存不退出

:wq

保存后退出



3.4.2 管道 |
linux提供管道符号“|”。作用是“命令1”的输出内容,将作为“命令2”的输入内容。一般与grep命令一起使用。

格式:命令1 | 命令2



3.4.3 grep命令
grep全称是Global Regular Expression Print,表示全局正则表达式版本

功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。

格式:grep [option] pattern [file]

-i  或 --ignore-case   #忽略字符大小写的差别。



#格式:grep  参数  过滤条件  文件

#查看install.log文件中含有“control”字符的内容

grep -i control /root/install.log





#格式: 其他命令 |  grep  参数  过滤条件

cat /root/install.log | grep -i control  #在cat命令输出结果基础上,进行过滤



3.5 系统命令
3.5.1 ps命令
功能:ps命令是Process Status的缩写。提供对进程的一次性查看。及执行ps命令的那个时刻进程信息。

格式:ps[参数]

-e  此参数的效果和指定"A"参数相同,显示所有程序

-f  显示UID,PPIP,C与STIME栏位



ping 127.0.0.1 > ip.log &

ps -ef | grep -i ping   





3.5.2 kill命令
kill功能:删除执行中的程序或工作。

语法:kill [参数][程序]

-l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。



kill -9 表示强制终止

格式: kill -9  pid

kill -9 4199



3.5.3 ifconfig命令
功能:显示网络设备

命令:ifconfig





3.5.4 ping命令
功能:测试与目标主机的连通性

命令:ping  主机名或ip地址





3.6 备份压缩:tar命令
tar功能:文件备份压缩

语法:tar命令

-c 建立一个压缩文件的参数指令(create)--压缩

-x 解开一个压缩文件的参数指令(extract)--解压

-z 是否需要用 gzip 压缩

-v 压缩的过程中显示文件(verbose)

-f 使用档名,在 f 之后要立即接档名(file)

常用解压参数组合:zxvf

常用压缩参数组合:zcvf



压缩

tar -zcvf javahelp.tar ./javahelp/





解压

rm -rf ./javahelp     #将“javahelp”移除,再解压

ll | grep -i javahelp

tar -zxvf ./javahelp.tar



3.7 关机重启
Linux centos重启命令:reboot

Linux centos关机命令:halt 立刻关机



3.8 文件权限:chmod 命令
chmod(change mode) 功能:变更文件或目录的权限。

语法:chmod [参数] [<权限范围><符号><权限代号>]

-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

权限范围的表示法如下:

            u:User,即文件或目录的拥有者。

            g:Group,即文件或目录的所属群组。

            o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。

            a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

符号:

            + 添加权限

            -取消权限

有关权限代号的部分,列表于下:

            r:读取权限,数字代号为"4"。

            w:写入权限,数字代号为"2"。

            x:执行或切换权限,数字代号为"1"。

            -:不具任何权限,数字代号为"0"。



mkdir xxx

ll | grep xxx

chmod u-rwx xxx  #取消xxx目录,用户“读写执行”权限

chmod g-rwx xxx #取消xxx目录,组“读写执行”权限

chmod 777 xxx  #给xxx目录添加所有权限



linux 权限格式:<类型><用户><组><其他用户>








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2