文章目录
- 1.首先了解一下linux的目录结构
- 2.linux的基本命令之使用命令开关机
- 3.linux的基本命令之目录管理
- 1.ls—列出目录命令
- 2.cd—切换目录命令
- 3.pwd—查看当前所在目录命令
- 4.mkdir—创建文件夹命令
- 5.rmdir—删除文件夹命令
- 6.cp—复制文件命令
- 7.rm—传说中的删库跑路命令
- 8.mv—-移动文件目录或重命名文件目录的命令
- 4.linux的基本命令之修改文件属性
- 1.chgrp—更改文件属性命令
- 2.chown—更改文件的属主命令
- 3.chmod—更改文件的9个属性
- 5.linux的基本命令之文件内容查看命令
- 1.cat—由第一行开始显示文件内容
- 2.tac—从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- 3.nl—显示的时候,输出行号!
- 4.more—一页一页的显示文件内容
- 5.less—与 more 类似,但是比 more 更好的是,他可以往前翻页!
- 6.head—只看头几行
- 7.tail—只看尾巴几行
- 6.linux链接的感念
- 1. 硬连接
- 2.软连接
- 3.ln—命令产生硬链接和软链接。
- 7.Vim的使用
- 1. Vim是从 vi 发展出来的一个文本编辑器。用来编写文件修改文件的。
- 2. 它有三种使用模式:
- 3.常用的一些命令
- 8.用户账号管理的操作
- 1. 创建一个用户:
- 2. 删除一个用户:
- 3.修改用户
- 4.切换用户
- 5.给用户增加密码
- 6.root用户为其他用户指定口令:
- 9.用户组管理
- 1. 创建一个用户组
- 2. 删除一个用户组
- 3. 修改用户组的权限信息和名字
- 4. 切换用户组
- 10.磁盘管理
- 1. df :列出文件系统的整体磁盘使用量
- 2. du:检查磁盘空间使用量
- 11.进程管理
- 1. ps:查看当前系统中正在执行的各种进程信息
- 2. ps -ef:查看父进程的信息
- 3. 结束进程
- 12.linux基本命令
1.首先了解一下linux的目录结构
- /:这个是根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录
- /bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
- /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的
- /etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve**(一般在这个目录下会建一个你自己的文件夹,用来存放你自己的文件)**
- /lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放一些突然关机的文件)
- /media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了
- /opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的 (软件安装就放在该目录下,比如:MySQL,Redis等等)
- /proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序
- /selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的
- /srv:该目录存放一些服务启动之后需要提取的数据。
- /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
- /tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。(用完就丢的文件可以放在这个文件下)
- /usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
- /usr/bin:系统用户使用的应用程序。
- /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src:内核源代码默认的放置目录。
- /var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run
- /www:用来存放服务器网站相关的资源,比如说环境,网站的项目等等。
PS:在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。/etc:
上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。/bin, /sbin, /usr/bin,
/usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。值得提出的是,/bin,
/usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root
使用的指令。/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在
/var/log 目录下,另外 mail 的预设放置也是在这里。
2.linux的基本命令之使用命令开关机
- sync:将数据由内存同步到硬盘中。一般在使用命令关机前最好先使用这个命令
- shutdown:关机指令,你也可以使用man shutdown来查看一些帮助文档
- shutdown -h 10:表示系统将在10秒后进行关机
- shutdown -h now:立马关机
- shutdown -h 10:30:系统会在上午10点30分进行关机
- shutdown -h +10:表示10分钟后关机
- shutdown -r now:系统立马重启
- shutdown -r +10:系统10分钟后重启
- reboot:重启命令
- halt:关闭系统
PS:不管是关机还是重启,都应该先使用sync命令,将数据同步到硬盘中。
3.linux的基本命令之目录管理
1.ls—列出目录命令
- ls: 列出目录
- ls -a: 表示ls -all,即查看全部的文件(包括隐藏文件)
- ls -l:列出所有的文件,包含文件的属性和权限,但是不会查看到隐藏文件
- ls -al:即a和l的组合,可以组合使用
2.cd—切换目录命令
- cd:切换目录命令,比如 cd home表示在当前的目录下,进入到home目录
- cd …:返回上一级目录
- cd …/c:比如:我在的当前文件夹是b,我的上一级是a,a目录下有b和c,这个命令的意思就是返回上一级,进入c目录。(这个就是相对路劲进入文件夹)
- cd /home/a/c:也是进入c目录,但是这个是不管你在哪里,都可以直接这样进入想进入的目录**(这个是绝地路劲进入目录)**
- cd ~:回到当前的用户目录
3.pwd—查看当前所在目录命令
- pwd:查看当前所在的目录
4.mkdir—创建文件夹命令
- mkdir a:表示创建一个名为a的文件夹
- mkdir -p b/c/d: 递归创建目录
5.rmdir—删除文件夹命令
- rmdir a:表示删除这个a的文件夹**(它不能删除不为空的文件夹)**
- rmdir -p b/c/d:递归删除目录
6.cp—复制文件命令
- cp a.txt b:表示将a.txt文件复制一份到b文件夹。如果存在它会询问你是否继续,回复y表示继续,n表示放弃
7.rm—传说中的删库跑路命令
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否删除
- -r :递归删除目录
- rm -rf a.txt: 表示移除掉这个文件**(即-r和-f的组合命令)**
8.mv—-移动文件目录或重命名文件目录的命令
- -f :强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件已经存在时,就会询问是否覆盖!
- -u :只替换以及更新过的文件
- mv a.txt b:将a.txt移动到b目录
- mv b b1: 重命名文件夹
4.linux的基本命令之修改文件属性
1.chgrp—更改文件属性命令
- chgrp -R root a:将文件或者目录的原本属组改为root
2.chown—更改文件的属主命令
- chown -R root a:将文件或者目录的原本属主改为root
3.chmod—更改文件的9个属性
- 首先了解一下9属性的概念—看图
- 文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下: r:4 w:2 x:1
- Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限
- 每种身份都有对应的一个权限:
- owner: 全部权限为:7即r + w + x = 7;
- group:同上
- others:同上
- chmod 777 a: 表示a这个目录或者文件可读可写可执行
- chmod 761 a: 表示a这个目录属主(owner)可以全部实现,属组(group)可以读和写,其它(others)用户只能执行
5.linux的基本命令之文件内容查看命令
1.cat—由第一行开始显示文件内容
- cat a.txt: 读取a.txt文件的内容。这个是从第一行开始读取的
2.tac—从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- tac a.txt:读取a.txt文件,从组后一行开始读的
3.nl—显示的时候,输出行号!
- nl a.txt: 读取a.txt文件,并会显示行号
4.more—一页一页的显示文件内容
- more a.txt: 简单理解就是不会直接显示全部信息,而是显示一部分,然后按空格去进行翻页
5.less—与 more 类似,但是比 more 更好的是,他可以往前翻页!
- less a.txt: 它跟more一样,但是它可以网上翻页(按q退出)
- 在进入这个命令之后,可以使用:/字符串:向下搜寻字符串的功能;?字符串:向上搜寻字符串的功能;使用n 搜索下一个,N是向上寻找。
6.head—只看头几行
- head -n 20 a.txt: 只显示20行的数据
7.tail—只看尾巴几行
- tail -n 20 a.txt: 读最后面的20行
6.linux链接的感念
1. 硬连接
- 硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问
- 硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除
2.软连接
- 另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在因为两个是不同的文件),但指向的是一个无效的链接
3.ln—命令产生硬链接和软链接。
- ln a.txt a1.txt: 创建一个a.txt的硬链接文件a1.txt文件
- ln -s a.txt a2.txt: 创建一个a.txt文件的软链接文件a2.txt文件
7.Vim的使用
1. Vim是从 vi 发展出来的一个文本编辑器。用来编写文件修改文件的。
- vim test.txt: 如果没有test.txt文件则创建该文件,如果有则进入修改该文件
2. 它有三种使用模式:
- 命令模式:用户刚刚启动 vi/vim,便进入了命令模式,这时你敲键盘输入信息是没有效果的,这时我们需用按下i键进入到输入模式。当你想要保存退出的时候,需要先按Esc键。然后输入进入底线命令模式,切记,这个是英文的
- 输入模式:我们在输入模式中,其实键盘操作跟windows是一样的。比如删除,回车等等。。。
- 底线命令模式:w:表示保存, q:表示退出,组合使用即保存并退出
3.常用的一些命令
- 数字(空格键): 比如 5 空格键。它会前往第五个字符
- /字符串:用来向下搜索字符串的。按n可以接着向下搜索该字符串
- ?字符串:用来向上搜索字符串的。按N可以接着向上搜索该字符串
- u:复原上一次的动作
- ctrl + r:重复上一次动作
- i:在命令模式下进入输入模式
- Esc:退出编辑页
- :wq:保存退出
- :set nu:设置行号
8.用户账号管理的操作
1. 创建一个用户:
- useradd -m shisan: 创建一个名为shisan的用户,且在home文件夹下创建一个shisan的目录
- -m: 自动创建这个用户的主目录即/home/shisan
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
- -c comment 指定一段注释性描述。
2. 删除一个用户:
- userdel -r shisan: 删除这个用户,并且将目录一起删除
3.修改用户
- usermod -d /home/shisi shisan: 将shisan的主目录改为/home/shisi
4.切换用户
- 切换用户的命令为:su shisan
- 从普通用户切换到root用户,还可以使用命令:sudo su
- 在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
- 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】
- $表示普通用户;#表示超级用户,也就是root用户
5.给用户增加密码
- passwd shisan:回车之后就可以输入密码了
6.root用户为其他用户指定口令:
- passwd -l shisan:锁定用户,即表示该用户不能再使用了
- passwd -u shisan:口令解锁。
- passwd -d shisan:使账号无口令。
- passwd -f shisan:强迫用户下次登录时修改口令。
9.用户组管理
1. 创建一个用户组
- groupadd shisan: 添加一个明为shisan的用户组
- groupadd -g 555 shisan2:指定id号。默认是自增的
2. 删除一个用户组
- groupdel shisan2: 删除一个shisan2的用户组
3. 修改用户组的权限信息和名字
- groupmod -g 666 -n shisan666 shisan:将shisan用户组改名为shisan666,并将id改为666
4. 切换用户组
- newgrp shisan888:将当前用户组切换到shisan888用户组
10.磁盘管理
1. df :列出文件系统的整体磁盘使用量
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
2. du:检查磁盘空间使用量
- -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
- -h :以人们较易读的容量格式 (G/M) 显示;
- -s :列出总量而已,而不列出每个各别的目录占用容量;
- -S :不包括子目录下的总计,与 -s 有点差别。
- -k :以 KBytes 列出容量显示;
- -m :以 MBytes 列出容量显示;
11.进程管理
1. ps:查看当前系统中正在执行的各种进程信息
- a: 显示当前终端运行的所有进程信息
- u:以用户的信息显示进程
- x:显示后台运行进程的参数
- ps aux|grep mysql:组合使用,即表示查看mysql的进程
PS:在linux中 | 这个符号叫做管道符 A|B。grep 查找文件中符合条件的字符串
2. ps -ef:查看父进程的信息
- ps -ef|grep java:查看java的进程
- p: 显示父id
- u:显示用户组
- pstree -pu:组合使用,进程树展示
3. 结束进程
- kill -15 pid进程号:正常杀死进程(推荐)
- kill -9 pid进程号:强制杀死进程
12.linux基本命令
- tar -zxvf 压缩文件名:解压缩命令
- firewall-cmd —list-all:查看防火墙全部信息
- firewall-cmd —list-ports:只看端口信息
- systemctl status firewalld:查看firewall服务状态
- service firewalld start:开启firewalld.service服务
- service firewalld restart: 重启firewalld.service服务
- service firewalld stop:关闭firewalld.service服务
- firewall-cmd —zone=public —add-port=8888/tcp —permanent:开启端口命令
防火墙全部信息 - firewall-cmd —list-ports:只看端口信息
- systemctl status firewalld:查看firewall服务状态
- service firewalld start:开启firewalld.service服务
- service firewalld restart: 重启firewalld.service服务
- service firewalld stop:关闭firewalld.service服务
- firewall-cmd —zone=public —add-port=8888/tcp —permanent:开启端口命令
- systemctl restart firewalld.service:重启防火墙