第1天:Linux介绍及基本指令
一、Linux简介
Linux是一个免费的操作系统,与Unix兼容,支持多用户,多任务等优秀特点。
由芬兰著名电脑黑客Linux Torvalds(林拉兹,托瓦斯)1991年开发出来,目前由世界各地爱好者进行开发和维护。
自诞生以来,凭借稳定、安全、高性能和高扩展等优点受到广大用户欢迎。
组成:Linux在X86架构上实现了UNIX系统的全部特性。
特点:开放,免费,多用户,多任务,良好的用户体验,设备独立性,提供丰富网络功能,可靠系统安全性,良好的可移植性。
版本:内核版,发行版。
内核版:
内核是系统的心脏,是运行程序,管理磁盘打印机等硬件设备的核心,他提供了一个在裸设备与应用程序间的抽象层。
发行版:
例如:RedHat Linux,Fedora Core Linux;Slackware Linux;SuSE Linux; Debian Linux;红旗Linux(国产)。
应用场景:
基础服务器应用,DSN服务器,DHCP服务器,Web服务器,FTP服务器,防火墙。 桌面应用(openoffice,staroffice,koffice),电子商务。
例如:Unix/Linux服务器,是目前应用最多的一个领域,可以提供web|FTP,Gopher,SMTP/POP3
Proxy、Cache,DNS等服务器,支持服务器集群,支持虚拟主机,虚拟服务,VPN等。
嵌入式Linux系统,是将流行的Linux操作系统进行裁剪修改,在嵌入式计算机系统上运行的一种
操作系统。支持多种CPU和硬件平台,性能稳定,裁剪性好,开发和使用容易,其中包括Embedix
uCLinux、muLinux等。
X Window操作系统。
二、Unix简介
Unix系统是工作站上常用的操作系统,1969年诞生,支持多用户,多任务。
Unix系统稳定、高效、安全、方便,功能强,从20世纪70年代开始运行在大型和小型计算机上。
Unix对运行平台要求较高,只能在工作站或优秀小型机上才能发挥优势,并且价格昂贵,所以
普通用户遥不可及,所以为Unix/Linux的崛起提供了机会,Unix/Linux是一个类Unix操作系统。
三、Unix/Linux常用命令
文件类型:'-'表示常规文件,'d'表示目录,'c'表示字符设备文件,'b'表示块设备文件
's'表示管道文件,'l'表示链接文件
文件存取权限,从左到右每3位一组,依次代表文件拥有者、同组用户和其他用户的存取
权限。通常文件共有3个权限,'r'表示只读。'w'表示可写,'x'表示可执行,'-'表示未设置。
*:配所有字符
?:配一个字符
ls : 查看所有文件。
ls -a :显示所有文件。
ls -l:显示课件文件的详细信息。
ls *:查询所有文件
ls b*:所有b开头的文件
ls *b:所有b结尾的文件
ls *b*:所有中间带b的文件
ls b?:带b开头的,两个字母
ls [abc]* : 查找a或b或c开头,后面任意的文件名
ls [a-f]*: 查找从a到f之间开头的任意文件名
ls [1-7]*:查找从1到7之间开头的任意文件名
ls [*] : 查找以*开头的文件名
ls a-f: 查找文件名叫a-f的文件
ls /*1 : 查找*1这个文件名
重定向指令:
ls > a.txt :把显示的结果放入到a.txt文档中
ls -l > a.txt: 把指令显示内容放入到a.txt中
ls >> a.txt : 追加重定向
more a.txt: 分屏显示a.txt中内容,按空格继续
管道:
ls | more : 分屏显示当前文件夹内容
基本文件目录:
cd aa:进入到aa文件里面
cd .. : 退到上一级目录
pwd: 显示当前文件目录路径
mkdir abc : 新建一个文件夹,名字叫做abc
rmdir abc : 删除问价夹abc, 前提是abc里面是空的
rm a.txt: 删除文件abc
建立链接文件:
In a.txt a : 创建链接文件a,链接a.txt; 为硬链接,占用磁盘空间
In -s a.txt b:创建链接文件b,链接a.txt; 为软链接,不占用磁盘空间
cat a.txt : 显示a.txt文件内容,但是不会分屏
cat a.txt b.txt > c.txt :将文件a,b的内容合并到c中
grep sb c.txt : 在c.txt文件中查找包含字符串sb的行
grep -v sb c.txt : 在c.txt文件中查找不包含字符串sb的行
grep -n sb c.txt : 在c.txt文件中查找包含字符串sb的行,加上行号
find ./ -name a.txt : 从当前目录开始查找所有的子目录,名字a.txt
find / -name a.txt :从根目录开始查找所有的子目录,名字a.txt
rm -rf *
cp ./aa/1.txt ./bb/2.txt :拷贝当前目录下aa目录下1.txt到,当前目录下bb目录下2.txt中
mv ./aa/1.txt ./bb/1.txt: 移动当前目录下aa目录下
mv 123.txt 111.txt : 将123.txt改成111.txt
在windows下所有文件类型都是通过文件的扩展名实现的。
Linux的扩展名只是一个名字而已,不代表文件类型。
windows下的文件一般有扩展名,但linux下文件没有扩展名
ps -aux 查看所有的进程,包括前端后端 参数中的-可以有也可以没有
tar -cvf aaa.tar a : 将目录a打包成aaa.tar
tar xvf aaa.tar : 将aaa.tar还原
先用tar打包后用gzip压缩
先用gzip解压,然后用tar提取文件
没有试验,因为电脑是Unix环境
rpm -ivh 要安装的安装包文件名
添加用户或组,只用root用户才有这个权限
groupadd abc 添加一个组,名字叫abc
groupdel abc 删除一个组
ubuntu下安装的时候默认是不设置root密码的
切换到root用户的时候又需要提供root密码
sudo passwd root 回车
-d指定用户主目录,什么是主目录,就是用户第一次登陆的时候默认的目录
linux 的主目录一般都设置在根目录的home目录下,这不是系统的要求,知识一个规则
增加一个用户,用户名叫aabb,用户的主目录在/home/aabb,主目录的目录名和用户名一般是相同的
-m意思是,如果-d指定的主目录不存在,那么就自动创建这个目录
useradd -d /home/aabb aabb -m
userdel aabb 将aabb用户删除
userdel -r aabb 删除aabb用户,同时自动删除用户的主目录
useradd -d /home/aabb aabb -m -g abc 创建用户aabb,主目录在/home/aabb目录,组是abc
passwd aabb 设置用户aabb的密码
切换用户的命令
su 用户名
su - 用户名
su的时候不加-,只切换用户,但不改变当前目录
su的时候 加-,切换用户,同时将当前目录切换到目标用户的主目录下
如果用root su到其他用户,那么不需要输入其他用户密码
但如果普通用户之间切换必须输入密码
退出登录exit
su 只切换用户到root,不改变当前目录
su - 切换用户到root,同时将当前目录修改为root用户的主目录
如果创建用户的时候没有指定组名,那么系统默认会创建一个和用户名相同的组名,同时把这个用户放到这个组里面
zhujy -》 aabbcc -》 root
只有一个用户退出登录后才能删除这个用户,一个已经登录的用户是无法删除
用root登录系统,然后进入根目录下的etc目录
查看shadow文件内容
如果要su到root下
su root,但也可以省略root,直接su