Linux操作系统下:
服务器中一些目录的说明:
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(不要动)
/lost+found:这个目录一般情况下是空的,当系统突然关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。(不用管)
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
/tmp:这个目录是用来存放一些临时文件的,用完即丢的文件可以放此处,如安装包。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin: 系统用户使用的应用程序。
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src: 内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/www:存放服务器网站相关的资源,如环境、网站项目
-a参数:查看全部文件,包括隐藏文件。a表示all
-l参数:列出除隐藏文件之外的所有文件,包含文件的属性和权限
-al参数:想查看所有文件(包括隐藏文件)的属性和权限,就可以考虑组合使用。
格式:cd 目录名。(目录名可以是绝对路径或相对路径)
绝对路径以 “/” 开头
相对路径表示相对于当前目录
cd / :回到根路径下
cd ~:直接进入当前用户目录
mkdir 目录名:创建目录
mkdir -p xx/yy/zz:递归地创建层级目录,如下图:
注意:rmdir命令不能删除不为空的文件夹
如果一定要删除则需要通过指定参数(rmdir -p xx/yy/zz),递归删除多个目录。 如下图:
格式:cp 原来的地方 新的地方
①复制文件:
复制之后如果再次复制会询问是否覆盖,如下图:
②复制目录:
-r 表示递归的意思。 此处为递归复制。
删除文件时经常把rf结合起来使用,如下图:
rm -rf /*:r、f两参数结合表示删除系统根目录下的所有内容。即删库跑路!!!不建议使用。
移动disk.pl文件到server目录下,如下图:
移动回去,如下图:
mv命令还可以重命名文件。
如下图:
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
文件详细属性查看,以下两种方式都可以:
我们在上面已经介绍了ls-l命令查看文件属性,如下图:
上面最左侧第一列是十个字符。
其中第一个字符代表这个文件是目录还是文件或是链接文件等等:
接下来的9个字符中,以三个为一组分为三组,且均为 rwx 的三个参数的组合:
文件类型 | 属主权限 | 属组权限 | 其他用户权限 |
---|---|---|---|
0 | 1 2 3 | 4 5 6 | 7 8 9 |
d | r w x | r-x | r-x |
目录文件 | 读 写 执行 | 读 - 执行 | 读 - 执行 |
如上表示的意思是:
修改文件属组格式:chgrp -R 属组名 文件名(chgrp即change gooup)
递归修改www目录属组为root:chgrp -R root www,如下图:
其中-R:递归更改文件属组,在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
修改文件属组格式:chown -R 属主名 文件名(chown即change owner)
递归修改www文件夹的属主为root:chown -R root www,如下图:
如何把属组和属主改回来:
chown可以同时修改属主和属组!!!:chown -R 属主名:属组名 文件名
使用命令:chown -R www:www www
使用chmod修改文件的后9个属性(后三组属性)
此时如果想要更改属性,也是可以的,使用的就是chmod。
Linux文件属性有两种设置方法,一种是数字,一种是符号。
①使用数字更改属性(常用)
如果想要设置所有用户均为可读可写可操作(rwxrwxrwx),即使用chmod 777 文件名
其中每一个7都代表rwx三个的值相加。如数字6则代表可读可写不可执行(rw-)。
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[rwxrwx- - -] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
使用命令:chmod 770 filename
演示:
扩展:
①cat:从第一行开始显示文件内容。如下图:
②tac:(可以看出tac是cat倒着写得来的),表示从最后一行开始显示文件内容,如下图:
③nl:显示的文件内容,并顺道输出行号(如看代码的时候希望显示行号,可以使用此命令)
,如下图:
④more:分页的显示文件内容
⑤less:与more类似,但是比more更好的是,它可以往前翻页(建议使用)
⑥head:只看头几行。(语法:head -n number 文件)
通过 -n参数来控制显示几行。 如下图:
⑦tail:只看尾几行(语法:tail -n number 文件),与head类似。如下图:
Linux链接又分为两种:
创建硬链接(ln 命令):
注意:touch命令可以用于创建文件
创建软链接(ln -s):
echo命令:向文件里输入字符串:
往源文件f1中写入,字符串“i love woniu”后,链接过去的文件f2,f3内容都发生了改变,如下图:
删除f1文件:
删除后源文件f1之后发现,f2(硬链接还可以继续访问);f3(软链接会失效,软链接类似windows中的快捷方式),如下图:
vim 文件名:如果此文件存在,就进入修改此文件;如果文件不存在,就会新建此文件
通过vim linuxstudy.txt 创建一个linuxstudy.txt文件
基本上 vi/vim 共分为三种模式,分别是命令模式,输入模式和底线命令模式。
通过例子理解三种模式:
①用户刚进入Vim即进入了命令模式,如下图:
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
使用i 键表示切换到输入模式,以输入字符
: 表示切换到底线命令模式,以在最底一行输入命令
x键 表示 删除当前光标所在处的字符
…
②在命令模式中使用 i 键进入输入模式(insert),如下图:
③命令模式下使用 :进入底线命令模式,如下图:
使用esc键:从输入模式切换回命令模式
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
使用wq组合可以表示存档并退出。
按ESC键可随时退出底线命令模式。
以上的一个完整流程可以叙述为:
①先新建或编辑文件(vim),按 i 进入编辑模式
②编写内容,编写完成后退出编辑模式(esc)
③退出编辑模式之后进入底线命令模式
④输入:wq表示保存并退出
一些比较重要的vim命令:
公司中,一般员工用的应该都不是root用户。
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
useradd -选项 用户名:添加用户
其中选项有很多,如:
-m:自动创建这个用户的主目录。如创建用户名hzbhzb,就会在home目录下创建此目录
-c: comment ,指定一段注释性描述
-g: group用户组 ,指定用户所属的用户组
-G:用户组,指定用户所属的附加组
-s:Shell文件 指定用户的登录Shell
-d:目录, 指定用户主目录。如果此目录不存在,则同时使用-m选项,可以创建主目录。
Linux中一切皆为文件,这里的添加用户说白了就是往某一个文件(/etc/passwd)中写入了用户的信息!如下图:
每条信息显式的格式为:
用户名 : 口令(登陆密码不可见): 用户标识号 : 组标识号 : 注释性描述 : 主目录 : 登录shell
删除用户的时候一般将他的目录也一并删除(通过 -r 参数指定)
删除之后,配置文件/etc/passwd中的hzbhzb记录也被删除。
修改账户常见参数(和useradd的一样):
-m:自动创建这个用户的主目录。如:创建用户名hzbhzb,就会在home目录下创建此目录
-c: comment ,指定一段注释性描述
-g: group用户组 ,指定用户所属的用户组
-G:用户组,用户组 指定用户所属的附加组
-s:Shell文件 指定用户的登录Shell
-d:目录, 指定用户主目录。如果此目录不存在,则同时使用-m选项,可以创建主目录。
通过useradd添加一个hpu用户后,对其进行如下修改(通过-d指定用户主目录),如下图:
注意:此操作需要提前在home目录中创建233文件夹
su hpu :切换搭到hpu用户,如下图:
还可以通过exit退回root用户,如下图:
注意:
在阿里云买完服务器连接之后主机名为一串无规则字符,如下图:
此主机名可以进行查看和临时修改(彻底修改需要去文件里改):
我们一般通过root创建用户的时候,需要配置密码!
①root权限给用户设置密码(passwd 用户名),如下图:
这时,再新建连接时,使用hpu就需要刚才设置的密码才能连接。
②在hpu用户权限下,修改密码(passwd),如下图:
锁定用户场景:root权限下,比如张三辞职了!需要冻结此账号,一旦冻结张三就不能再登录系统了。
通过命令:passwd -l hpu (其中l代表lock)
锁定之后,相应用户就无法登陆此服务器。
公司中一般员工拿不到root权限
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(运维,测试,开发,root)。
创建名为hhh的用户组,如下图:
查看用户组在 /etc/group,如下图:
其中,groupadd可以指定选项:
-g 组id: 添加用户的时候,指定新用户组的组标识号(组id)
注意:如果组id不指定,默认是较上条记录自增1。
-G:添加用户的时候,给用户分配组
-o :一般与-g选项同时使用,表示新用户组的组id可以与系统已有用户组的组id相同
删除hhh2,删除之后查看 /etc/group 就没有hhh2的记录了
-g 组id :为用户组指定新的组标识号
-o 与-g选项同时使用:用户组的新组id可以与系统已有用户组的组id相同
-n 新用户组 :将用户组的名字改为新名字。n表示name
组id改为666,组名字改为newhhh,如下图:
df命令:(列出文件系统整体的磁盘使用量),可以结合以下一些选项使用:
df命令常见选项:
du命令(检查磁盘空间使用量),可以结合以下一些选项使用:
挂载使用mount命令:
卸除使用umount命令:(可用通过-f表示强制卸除)
①可用通过ps -help 或 man ps查看此命令的帮助信息
②在Linux中 “|” 被称为管道符,A|B表示A命令的结果作为输出操作B命令
ps命令,参数选项如下:
ps -aux:查看所有的进程
grep表示查找文件中符合条件的字符串。
ps -aux|grep mysql:只查看MySQL相关的进程。表示把所有的进程都查出来,然后过滤其他的。 (此类命令需要经常使用)
查看父进程信息(pstree),常用参数如下:
pstree -pu :就可以清楚的查看父进程信息(树状显示)
如果平时写的Java代码死循环了,就可以结束进程!
kill -9 进程id:表示强制停止相应的进程