linux概念
linux是一种网络操作系统,主要运行在服务器上。它的基本思想有两点:1、一切都是文件,2、每个软件都有确定的用途。它由linux内核、shell(用户与内核交互的接口)、文件系统:ext3、ext4等、第三方应用软件构成。
linux文件系统
目录结构
bin:存放二进制可执行文件(ls,cat,mkdir等)
boot:存放用于系统引导时使用的各种文件
dev:用于存放设备文件
etc:存放系统配置文件
home:存放所用用户文件的根目录
lib:存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt:系统管理员安装临时文件系统的安装点
opt:额外安装的可选应用程序包所放置的位置
proc:虚拟文件系统,存放当前内存的映射
root:超级用户目录
sbin:用于存放各种临时文件
usr:用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var:用于存放运行时需要改变数据的文件
文件权限
说明:w:可写 r:只读 x:可执行 -:无权限
文件权限:
1.字符表示法:drwxr-xr-x
第1个字符表示:该文件的类型
第2-4字符表示:该文件的属主用户的权限(w:可写 r:只读 x:可执行 -:无权限)
第5-7字符表示:与属主用户同一组其他用户的权限
第8-10字符表示:不同组的其他用户的权限
2.数字表示法
r=4,w=2,x=1,-=0;(因为系统只能识别二进制数字,1表示有权限,0表示没权限,rwx表示都有权限用二进制表示为111,转化为十进制就是4+2+1=7,r就相当于4,w相当于2,x相当于1,当无权限用-表示,所以-相当于0)
drwxr-xr-x用数字表示权限就是d755。
linux命令
命令交互模式切换:ctrl+alt+f1---f6(linux提供6个命令交互通道)
切换到图形交互界面:ctrl+alt+f7(当安装了图形模块时系统默认进入图形交互界面)
long@center6 ~$(命令提示符): long:用户名, center6:主机名, ~:路径(若当前目录是用户存放数据的根目录,则显示~) $:用户的类型 $代表普通用户,#代表超级用户
linux常用命令
主要演示:帮助命令、切换用户、关机重启注销、目录和文件的操作、管道命令、重定向、创建用户以及更改密码
帮助命令:man 命令开头字符,例如:man su(弹出su命令的帮助文档),man ls(弹出ls命令的帮助文档),man为manual的缩写,看完帮助文档后可按q键退出回到命令行。
1.切换用户(su [user_name],su为switch user转换用户的缩写)
取得超级用户权限:su root(接着输入root密码就行,当不需要以超级用户权限时,可以su原用户名或exit回退到原用户)
取得超级用户权限以及他的环境变量:su - root
取得jiansheng的用户权限:su jiansheng
2.关机重启注销
注销:logout(命令交互模式下才有用),或者登出:exit(图形交互界面下最多只能退出terminal)
关机:shutdown -h 时间,例如:shutdown -h now(时间有3种表示方法:1、now:马上,2、22.00:具体指定时间,3、3:几分钟之后),当然关机还有init 0等命令可以关机。
重启:shutdown -r 时间,例如:shutdown -r now(立刻重启)。
3.文件操作命令
查看目录(ls,ls为list的缩写)
查看目录里的内容:ls(以linux默认方式查看,显示简要的非隐藏文件(目录也是一种文件))
查看目录里各可见文件的详细信息:ls -l或者简写的命令ll,
查看目录里全部文件:ls -a
查看目录里全部文件的详细信息:ls -a -l或者ls -l -a或者ls -la
进出目录(cd[相对或绝对路径],cd是change dir的缩写即改变目录)
进入/usr/local目录:cd /usr/local(所有目录文件都是以/开始的,以/开头的代表绝对路径)
进入当前目录中的test文件夹:cd test
返回当前目录的上一层目录:cd ..
进入上一层目录中的var目录中:cd ../var
进入用户的home目录:cd ~[user_name],例如:cd ~zhangsan:进入张三用户的家目录,cd ~:进入当前用户的家目录。
查看当前目录的路径:pwd(当为图形交互界面时,终端的顶部就有当前用户所在的路径)
创建目录(mkdir [选项] 目录名,mkdir为make directory的缩写)
在当前目录创建test目录:mkdir test或者mkdir ./test
创建/test/java目录:mkdir -p /test/java(可通过-p(p为parents的简写)选项来创建多个目录)
创建权限为777的test2目录:mkdir -m 777 test2(-m与-p一样,是选项,它是来设置权限的)
创建test3目录时显示信息:mkdir -v test3(-v表示显示进度)
创建权限为777的lib/java目录并显示信息:mkdir -vp -m 777 lib/java(其中lib的权限是默认权限,java的权限是777)
创建一个项目的结构:mkdir -vp tianmaoshop/{lib,bin,doc/{info,product},log,service} (这里可用大括号与逗号表示多个子目录,项目结构可以用tree命令查看,tree命令需要下载安装)
删除目录
rm [选项] 目录名,rm为remove的缩写,选项:-i:删除前逐一询问,-f:即使文件是只读,也可以删除,无需逐一确认,-r:将目录下的文件逐一删除(递归删除),rm默认删除文件,需要加-rf就能快速删除目录。
快速删除test目录并显示进度:rm -rfv test
逐一询问删除test目录:rm -r test或者rm -ri test
创建文件
创建一个普通空白文件:touch 文件名,例如:touch a.txt、touch a.mp3等
创建一个文档:vi a.txt (编辑后按esc键再输入:wq就可以退出编辑回到命令行,当有同名文件时则是打开该文件)
查看文件
查看文件内容:cat [选项] 文件名,例如:cat a.txt,该命令将a.txt文件的内容输出到控制台,并跳转到最末尾,可用cat --help命令查看option(选项)等解释。
分页查看文件内容:more [选项] 文件名,例如:more -10 a.txt,该命令将文件内容分页,并显示第一页(10行)到控制台,按空格键显示下一页。
编辑文件
编辑绝对路径下的文件:vi 文件的绝对路径,例如:vi /test/a.txt(/是linux的所有目录的根目录,以/开头的路径代表绝对路径,按esc后再输入:wq退出编辑)
编辑当前目录下的文件:vi a.txt 或vim a.txt,建议使用vim,因为vim切换编辑模式时不会出问题。表示编辑当前目录下的a.txt文件,若没有该文件就创建。
编辑模式切换:一开始以vi或vim打开文件进入文件的模式是一般模式,可以删除复制粘贴、移动光标、跳转页面和行号以及替换和查找;当按下i(插入)、a(添加)、o(插入新一行)、r(替换)后就进入了编辑模式,此时可以修改文件内容,编辑模式下按esc键返回一般模式;当在一般模式输入":"或"/"后进入命令模式,退出编辑器就是在命令模式下完成的。
在文件中查找tomcat字符串:一般模式下输入/tomcat,表示在光标后查找tomcat字符串,(?tomcat表示在光标之前查找tomcat字符串)
保存文件:按esc后再输入:w
退出编辑器:按esc后再输入:q(适用于文件没有修改的情况)
退出编辑器并保存修改文件:按esc后再输入:qw
退出编辑器但不保存修改:按esc后再输入:q!
删除文件
删除a.txt文件:rm a.txt(默认询问删除)
不询问直接删除a.txt并显示进度:rm -fv a.txt(直接删除,若a.txt不存在则不提示已删除)
复制文件(有三种语法,具体见man cp)
复制文件到另一目录下并显示进度:cp -v a.txt /test/java/c.txt,将a.txt复制到/test/java目录中并更名为c.txt,若有c.txt文件则会询问是否覆盖。
移动文件(mv [option] source destination)
移动文件到当前目录:mv -v /test/java/c.txt ./
创建连接文件
连接分为硬连接和软连接。硬连接是文件都指向同一个数据存储块,当硬连接文件全被删除时数据块才被释放,效果好比复制但它们之间会同步;软连接其实就相当于快捷方式,它实际是个字符文件,存储的是连接指向的地址值。
给当前目录的文件创建硬连接:ln config.xml /test/resource/config(默认创建的是硬连接)
给文件创建软连接:ln -s ./config.xml ../config.lk(选项-s为软连接)
管道命令(命令 | 命令)
从左往右执行,将"|"左边命令的输出作为"|"右边命令的输入。
用管道命令统计文件字数:cat a.txt | wc,即先用cat输出a.txt的内容,wc再对该输出内容进行字符统计
重定向(echo)
将baseurl=localhost输入给a.txt:echo "baseurl=localhost" > a.txt,该命令会覆盖a.txt内容,若没有a.txt则会新建文件再添加内容
将baseurl=localhost追加给a.txt:echo "baseurl=localhost" >> a.txt,该命令会在a.txt的末尾新建一行添加baseurl=localhost。
创建用户以及更改密码
更新当前用户密码:passwd
以root身份创建用户:useradd -d /home/username username,-d代表新用户的家目录,密码可以passwd命令设置
以root身份给用户新建或更改密码:passwd username,更改密码可能会出现密码过短或过于简单的提示,忽略这些提示,确认新密码时直接输入相同新密码即可。