Linux
2016-04-15 17:27
573 查看
1、认识Linux
1.1、大纲
了解Linux系统安装Linux虚拟机
学习Linux的常用命令***
多用户以及权限学习***
Linux实战
Linux基础精华
1.2、学习Linux之前先认识Unix
Unix是一个强大的多用户、多任务操作系统。于1969年在AT&T的贝尔实验室开发。
UNIX的商标权由国际开放标准组织(The Open Group)所拥有。
UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。
1.3、认识Linux
Linux是基于Unix的,并不是在Unix的基础上开发而是参考它的思想开发的!
1.4、Linux历史
Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统,所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.1.5、Linux的应用领域
服务器系统(目前应用最多的)Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
嵌入式系统
路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,
高性能运算、计算密集型应用
Linux有强大的运算能力。
桌面应用系统
移动手持系统(安卓就是安装在linux系统上的)
1.6、Linux的版本说明
Linux的版本分为两种:内核版本和发行版本;内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号;
发行版本是一些组织和公司根据自己发行版的不同而自定的;
1.7、Linux主流产品(都是发行版的)
:全球最大的Linux发行版的发行商,用的人最多的(很多大公司用的),收费。
:看作是小红帽的免费版。
:全球市场市场占有率最高的操作系统。在中国市场占有率并不高。
2、安装Linux
2.1、安装Linux虚拟机
什么是虚拟机?虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整通过软件计算机系统。
VirtualBox
VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在Sun 被Oracle 收购后正式更名成Oracle VM VirtualBox。
Centos
CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。
2.2、网络设置
首先ping一下,看是否能上网未通过,,window中通过ipconfig,而linux中用ifconfig(补充:Tab键可联想填补)查看网卡
激活网卡,设置Ip参考《设置固定IP.doc》
2.3、设置快捷键
管理—>全局设定:2.4、文件系统
wintdows:Windows磁盘分区格式:FAT16,FAT32,NTFS,exFAT
Linux磁盘分区格式:与其它操作系统完全不同,共有两种。一种是Linux Native主分区,一种是Linux Swap交换分区。常见磁盘文件系统格式为:Ext2,ext3和ext4
2.5、Linux的组成
COMPUTER RESOURCES:系统资源
内核(KERNEL):是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不仅是命令解释器,而且还是高级编程语言,shell编程。
文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660等
应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office等
2.6、Linux的目录结构
Linux的目录结构是一个树形结构,“/”是Linux的根目录。(它没有c盘,只有一个“/”根目录)
Bin:操作命令文件
Etc:放配置文件
Home:linux本身是一个多用户系统,所有用户的根目录都是在home目录下
Root:特殊目录,只有超级管理员root用户有这个操作权限,其他用户没有操作权限
User:一般用户安装软件都装在此目录
Var:保存系统运行时的日志、临时文件
2.7、远程登录Linux
使用CRT软件:连上后,黑框直接exit即可!
使用CRT注意修改外观及编码
3、常用命令
3.1、关机、重启
关机shutdown -h now (立刻关机)
shutdown -h 5 (5分钟后关机)
poweroff (立刻关机)
重启
shutdown -r now (立刻重启)
shutdown -r 5 (5分钟重启)
reboot (立刻重启)
shutdown –help帮助
实际中,是不操作关机重启的,一般这些命令会被禁掉!
3.2、远程登录
使用CRT等客户端软件登录;使用ssh登录(登录到另一个系统);
ssh -l 用户名 -p 端口目标机器IP
退出
exit (退出当前登录)
3.3、帮助命令
Linux的命令非常之多,不可能都记得住使用方法;使用帮助命令--help
shutdown--help
ssh –help (无效,解决: yum -y install openssh-clients)
ifconfig --help (查看网卡信息)
使用man命令(命令说明书)
man shutdown (无效,解决:yum install man)
3.4、Linux下查看系统版本信息
查看Linux内核版本命令(两种方法)cat[more] /proc/version
[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.8.1.el5.centos.plus (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Wed Jul 7 11:50:45 EDT 2010
uname -a
[root@localhost ~]# uname -a Linux localhost.localdomain 2.6.18-194.8.1.el5.centos.plus #1 SMP Wed Jul 7 11:50:45 EDT 2010 i686 i686 i386 GNU/Linux
查看Linux系统版本的命令(3种方法)
lsb_release -a,即可列出所有版本信息
[root@localhost ~]# lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.5 (Final) Release: 5.5 Codename: Final
这个命令适用于所有的Linux发行版,包括Redhat、SuSE、Debian…等发行版。
cat[more] /etc/redhat-release,这种方法只适合Redhat系的Linux
[root@localhost ~]# cat /etc/redhat-release CentOS release 5.5 (Final)
cat[more] /etc/issue,此命令也适用于所有的Linux发行版
[root@localhost ~]# cat /etc/issue CentOS release 5.5 (Final) Kernel \r on an \m
3.5、cd命令
cd app ➔切换到app目录cd.. ➔切换到上一层目录
cd / ➔切换到系统根目录
cd ➔切换到用户主目录(home)
cd - ➔切换到上一个所在目录
3.6、列出文件列表:ll,ls,dir
在linux系统中隐藏文件是以"." 开头的文件;
使用ll -a 查看所有文件,包括隐藏文件;
ll显示更全,ls和dir效果相同[ls命令用法详解]
ll –h 友好显示文件大小,如kb、mb
3.7、mkdir和rmdir
mkdir(make directory)命令可用来创建子目录。mkdir app ➔在当前目录下创建app目录
mkdir –p app2/test ➔级联创建aap2以及test目录
rmdir(remove directory)命令可用来删除“空”的子目录:
rmdir app ➔删除app目录
补充:将光标切换行最前(Ctrl+a)、最后(Ctrl+e)
3.8、浏览文件cat,more,less
cat用于显示文件的内容(小文件)。
格式:cat[参数]<文件名>
more
一般用于要显示的内容会超过一个画面长度的情况。
按空格键显示下一个画面。
按q 键退出查看。
less
用法和more类似,不同的是less可以通过PgUp、PgOn和空格键来控制。
注意: cat一般用于小文件,more查看大文件内容;
3.9、tail
tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。用法
tail -10 /etc/passwd ➔查看后10行数据
tail -f catalina.log ➔动态查看日志
ctrl + c 结束查看
3.10、sed查看某时间段日志
sed -n '/2016-07-11 13:41:00/,/2016-07-11 13:42:00/p' xxx.log3.11、文件删除-rm
rm 删除文件用法:rm [选项]... 文件...
rm a.txt ➔删除a.txt文件
删除需要用户确认,y/n
rm 删除不询问
rm -f a.txt ➔不询问,直接删除
rm 删除目录
rm -r a ➔级联、递归删除
不询问递归删除(慎重)
rm -rf a ➔不询问递归删除(慎重)
rm -rf * ➔删除所有文件
rm -rf /* ➔自杀
2.12、文件拷贝-cp、移动-mv、传输-scp
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。cp a.txt b.txt ➔将a.txt复制为b.txt文件
cp a.txt ../ ➔将a.txt文件复制到上一层目录中
mv 移动或者重命名
mv a.txt ../ ➔将a.txt文件移动到上一层目录中
mv a.txt b.txt ➔将a.txt文件重命名为b.txt
scp传输文件到服务器
scp -r ./***.war localadmin@IP:~
[文件传输目的地:/home/localadmin/]
3.13、压缩/解压-zip,tar,tar.gz,tar.bz2
ZIPzip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。
压缩
zip -r xxx.zip ./*
解压
unzip xxx.zip
TAR,TAR.GZ
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gizp压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件,即tar.gz。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
总结:
tar -cvf xxx.tar ./*➔打包当前目录的所有文件以及目录,不压缩
tar -czvf xxx.tar ./* ➔打包当前目录的所有文件以及目录,压缩
tar -xvf xxx.tar.gz ➔解压
tar -xvf xxx.tar.gz -C /tmp/xxx/➔解压并指定解包路径
TAR.BZ2
tar.bz2这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。
压缩
tar -jcvf xxx.tar.bz2 ./*
解压
tar -jxvf xxx.tar.bz2 -C /tmp/xxx/
3.14、pwd,wget,touch等常用命令
pwd 显示当前所在目录touch 创建一个空文件
touch a.txt
wget 下载资源 (无效,解决:yum -y install wget)
3.15、文件编辑器-vi
在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。
三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc键;
切换到插入模式:按i 、o、a键;
切换到底行模式:按:(冒号);
更多详细用法,查询文档《Vim命令合集.docx》和《vi使用方法详细介绍.docx》
保存并且退出::wq
退出不保存::q!
直接退出(未改动情况下)::q
快捷键:
大写的G跳到最后一行
双d(快速):删除当前行[适用于切换插入模式前]
搜索:在命令行模式下输入":/搜索内容"回车,按"n"查找下一个。
3.16、重定向输出-‘>’和‘>>’
>重定向输出;>>重定向输出,又追加功能;
示例:
cat /etc/passwd > a.txt 将输出定向到a.txt中
cat /etc/passwd >> a.txt 输出并且追加
3.17、管道-‘|’
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。示例
ls --help | more 分页查询帮助信息
ps –ef | grep java 用标准的格式来显示名称中包含java的进程
显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD
ps aux | grep java 用BSD的格式来显示名称中包含java的进程
显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
grep -rn "2015-10-12 20:20" catalina.out 输出catalina.out文件中某个时间点的日志记录
3.18、执行控制命令-‘&&’
命令之间使用&&连接,实现逻辑与的功能。只有在&&左边的命令返回真(命令返回值$? == 0),&&右边的命令才会被执行。
只要有一个命令返回假(命令返回值$? == 1),后面的命令就不会被执行。
启动tomcat后立刻查看日志:
./xxx.sh start && tail –f ../log/xxx.log
3.19、网络通讯命令-‘ifconfig’、‘ping’、‘netstat’
ifconfig 显示或设置网络设备。ifconfig 显示网络设备
ifconfig eth0 up 启用eth0网卡
ifconfig eth0 down 停用eth0网卡
ping 探测网络是否通畅。
ping 192.168.0.1
netstat 查看网络端口。
netstat -an | grep 3306 查询3306端口占用情况
3.20、网络常见问题
mac地址不一致问题:修改成一致的mac地址;
删除文件:rm -rf /etc/udev/rules.d/70-persistent-net.rules(网卡于max地址一一对应配置,这里删除,重启以重新生成)
重启虚拟机
没有设置开机启动
chkconfig --level 2345 network on
3.21、系统管理命令一-‘date’、‘df’、‘free’、‘top’
查看物理CPU个数、核数、逻辑CPU个数# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑CPU的个数 cat /proc/cpuinfo| grep "processor"| wc -l #查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
date 显示或设置系统时间
date 显示当前系统时间
date -s “2014-01-01 10:10:10“ 设置系统时间
df 显示磁盘信息
df -h 查看每个根路径分区大小
df -hl 查看磁盘剩余空间
free 查看内存使用情况
free –m 以mb单位显示内存组昂头
top 显示,查看内存及cpu使用情况
查看服务器负载,一般10已经挺高的了!(当服务器运行变慢的时候,查看服务器负载,服务器负载高的话,查看下边哪个进程导致的!)
top命令重点[linux的top命令参数详解]
安装htop工具,这样更直观,
安装命令如下:sudo apt-get install htop,安装完后,直接输入命令:htop,就可以看到内存或cpu的使用情况了。
3.22、系统管理命令二-‘clear’、‘ps’、‘kill’
clear 清屏幕ps 正在运行的某个进程的状态
ps –ef 查看所有进程
ps –ef | grep ssh 查找某一进程
kill 杀掉某一进程
kill 2868 杀掉2868编号的进程
kill -9 2868 强制杀死进程
3.23、系统管理命令三-‘du’、‘who’、‘hostname’、‘uname’
du 显示目录或文件的大小。du –h 显示当前目录的大小
du -sh [目录名] 返回该目录的大小
du -sm [文件夹] 返回该文件夹总M数
du --help 查看更多功能
df 以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息
df -hl 查看磁盘剩余空间
df -h 查看每个根路径的分区大小
df --help 查看更多功能
查看硬盘的分区 #sudo fdisk -l
查看IDE硬盘信息 #sudo hdparm -i /dev/hda
查看STAT硬盘信息 #sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id
who 显示目前登入系统的用户信息。
hostname 查看当前主机名
修改:vi /etc/sysconfig/network
uname 显示系统信息。
uname –a 显示本机详细信息。依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称
3.24、用户操作命令-‘useradd’、‘passwd’、‘userdel’
useradd 添加一个用户useradd test 添加test用户
useradd test -d /home/t1 指定用户home目录
useradd test –g public 指定用户组
passwd 设置、修改密码
passwd test 为test用户设置密码
userdel 删除一个用户
userdel test 删除test用户(不会删除home目录)
userdel –r test 删除用户以及home目录
3.25、用户组操作命令-‘groupadd’、‘groupdel’
当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组。创建用户时也可以指定所在组 useradd test –g publicgroupadd 创建组
groupadd public 创建一个名为public的组
useradd u1 –g public 创建用户指定组
groupdel 删除组,如果该组有用户成员,必须先删除用户才能删除组。
groupdel public
3.26、id命令
功能:查看一个用户的UID和GID用法:id [选项]... [用户名]
3.27、su命令
功能:切换用户。用法:su [选项]... [-] [用户[参数]... ]
示例:
su u1 切换到u1用户
su – u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用)
sudo -i 临时切换超级用户root(推荐使用)
3.28、用户文件
vi /etc/passwd3.29、密码文件
vi /etc/shadow3.30、组文件
vi /etc/group3.31、权限
主权限:文件所属用户权限组权限:同组的其他人对这个文件所拥有的权限
Linux三种文件类型
普通文件:包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件:Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
设备文件:Linux系统把每一个设备都看成是一个文件。
文件类型标识
普通文件(-)
目录(d)
符号链接(l)
字符设备文件(c)
块设备文件(s)
套接字(s)
命名管道(p)
补充:软链接——相当于window中快捷方式,修改软链接文件对应真是的文件也会被修改!
硬链接——两个文件都存在硬盘上,是同步的,改其中一个,另一个也会更改!
文件权限管理
chmod 变更文件或目录的权限。
chmod 755 a.txt
chmod u=rwx,g=rx,o=rx a.txt
chmod 000 a.txt / chmod 777 a.txt
sudo chmod -R 777 /Users/cbb/xxx/xxx
chown 变更文件或目录的拥有者或所属群组。
chown u1:public a.txt
chown -R u1:public dir
注意:chown命令只能是root执行。
3.32、设置或显示环境变量-‘export’
Linux export命令用于设置或显示环境变量。语法
export [-fnp][变量名称]=[变量设置值]
参数说明
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
实例
#mac 中禁止Homebrew自动更新 export HOMEBREW_NO_AUTO_UPDATE=true #查看设置 echo HOMEBREW_NO_AUTO_UPDATE
4、Linux实践
未完待续。。。相关文章推荐
- Linux下如何查看CPU、内存占用率
- centos7 install 安装mysql
- Linux下Mysql的配置
- CentOS中mysql的安装与配置
- linux上jdk管理
- 嵌入式 如何手动释放Linux内存的方法
- linux 个性化
- centOS安装与配置minicom(串口转USB)
- Linux上安装nodejs
- Linux下 RabbitMQ的安装与配置
- Linux下删除非空文件夹代码
- Linux Watchdog Test Program
- linux 系统监控、诊断工具之 top 详解
- Linux iptables 防止 syn ddos ping 等 ***
- 在linux的终端怎么退出python命令行
- linux上手学习
- 虚拟机Linux共享主机Windows文件夹
- linux crontab 添加定时任务
- centos+xfceroot用户创建系统解决chrome问题;
- x86体系下Linux中的任务切换与TSS