Linux的一些相关知识,Linux 与windows与mac的区别
xxx.xxx.xxx.xxx 四段
格式正确的IP地址为:
第一段1-255,从第二段起0-255
ip地址可以分为外网ip和内网ip,分别对应公网和私网
服务器一般使用Linux操作系统
32位和64位
bin:binary——存放二进制文件,可以被运行
dev:device——存放外接设备(磁盘,光盘),不能被直接使用,需要被挂载——#mount
etc:存放配置文件,例如网站解析软件的配置文件,数据库的配置文件,各类插件
home:存放,除roo用户t外其他用户的家目录
mnt:当外接设备需要挂载的时候,需要挂载到/mnt目录下对应目录(必须是挂载到目录)
proc:process——存放Linux运行时的进程
root:该目录是root用户自己的家目录
sbin:super binary——存放可以被执行的二进制文件(必须有超级管理员权限的用户才能执行)
tmp:临时文件,系统运行时候产生的临时文件
usr:用户自己安装的软件——类似windows下的program files
var:存放程序/系统的日志文件的目录
补充个人习惯: app+:存放下载的软件 data:存放数据库信息
// # + 指令 + [选项 ] +[ 操作对象]
一个指令可以包含多个选项,多个操作对象
用法一:#ls
list——列表,列出当前工作目录下,所有文件和文件夹的名称
用法二:#ls + 路径
列出当指定路径下,所有文件和文件夹的名称
补充:绝对路径和相对路径
./表示当前目录,和不加./直接使用指令是一样的
. . /表示上一级目录
用法三:#ls +选项+路径
列出指定路径下的文件、文件夹名称,并以指定格式进行显示
01: #ls -l 路径
-l表示列表list,以详细列表的形式进行展示
02: #ls -la 路径
-la表示显示所有的文件/文件夹(包含隐藏文件——文件名以.开头)
03:#ls -lh 路径
列出指定路径下的所有文件、文件夹的名称,以列表的形式并且在显示文档的大小时,以可读性较高的形式显示
(h:文件大小带单位了,自动适配合适单位)
一般linux中的目录大小都为4k
用法:无参数,print working diretory 打印当前所在目录
change directory:
格式:#cd 路径
案例1:当前在“/”下,需要使用绝对路径切换到/usr /local ——# cd /usr /local 案例2:快速切换到当前用户的家目录——#cd ~:
make directory
eg.在当前路径下创建目录 wenjian1——#mkdir wenjian1(验证:#ls)
(关于ls列出的文件:蓝色表示文件夹,黑色表示文件,绿色文件表示拥有所有权限的文件)
eg.在指定路径下创建目录wenjian2——#mkdir /root/yunwen
直接 mkdir yunwei/a/b/c/xiaoli 不能创建多级目录,报错No such file or directory 加上-p 没问题,可以用ls验证当前目录下是否有下一级目录 (说明:在命令提示符中,# 代表有 root权限, 代表普通用户)
eg.在当前路径创建文件Linux.txt——$ touch Linux.txt
copy:复制文件,文件夹到指定位置
eg.#cp Linux.txt /home/root1214/yunwei
特别:
move:移动文档到新的位置(原始文件不在了)
格式:#mv 需要移动的文档 目标位置
eg.使用mv命令来移动一个文件或文件夹(此处移动多级文件夹时可不用加-r)
remove
格式:#rm 选项 需要移除的文档(可同时删除多个)
选项:
删除一个目录下有公共特性的文档——可以用通配符* eg.删除都以Linux开头的文件 #rm -f Linux*
vim是一款文本编辑器
作用:打开文件(文件可以不存在,自动新建) 格式: vim 文件路径
(不修改的退出文件的方法:输入:,然后输入q,回车) (修改后保存退出文件的方法:输入:,然后输入wq,回车) (修改后放弃修改退出文件的方法:输入:,然后输入q!,回车)
一般命令的输出显示在终端窗口,当需要保存命令结果到指定文件进行后续的分析统计时,需要使用输出重定向技术。
eg.保存ls -la的执行结果到当前目录下的ls.txt(文件不存在会自动生成)——#ls -la > ls.txt
用vim打开检测 ——#vim ls.txt(vim打开文件时,最后一行会显示文件行数) 文件中输入:set nu可以显示行号
(和vim区别:vim打开文件后会进入文件,需要使用固定方法退出文件) ————vim适合修改编辑文件
(cat是在命令行里直接打开文件,展示一下而已,并没有进入文件,不需要退出) ————cat适合仅查看文件内容
格式:#cat +文件目录
格式:#cat 文件路径1 文件路径2 … 文件路径n > 新文件路径
eg.#cat Linux.txt ls.txt > today.txt
格式:#df -h(不加-h没有单位,默认字节,加-h以合适的单位显示)
格式:
free (单位:无,默认字节)
free -m (单位:M)—— 常用
free -g (单位:G)
free -h(单位:自动)
(swap:缓存空间,当系统真实内存不够用时可以临时使用磁盘空间(外存)来充当内存,但是速度慢)
格式:#head -n 文件路径
格式1:#tail -n 文件路径 (-1表示最后一行) 格式2:#tail -f 文件路径 —— 查看一个文件的动态变化 (变化内容不能是在命令行外手动添加的,需要启动另一个命令行对该文件操作,可以看到变化)
#tail -f 一般是用于查看系统日志,这个文件经历了哪些操作(类似历史记录)
补充:查看某条指令的操作手册:#man+指令
作用:查看文件 (以较简洁的方式进行输出内容,只显示一页,按下辅助功能键查看更多信息,按q退出)
辅助功能键:
格式:#less + 文件路径
作用:统计文件内容信息 (类似word左下角统计字数什么,行数,单词数,字节数,需要配合管道使用)
格式:
作用:读取和设置时间(一般不用设置,直接同步网络)
补充:更改时区——使用timedatectl命令
# timedatectl set-timezone Asia/Shanghai #设置亚洲上海时区
上面的+号不是连接的意思,是格式中必须有的,并且后面字母的大小写一定要规范,详情可以#date –help
备注:
%F:表示完整的年月日,等同%Y%m%d
%T:表示完整的时分秒,等同%H%M%S
%Y:四位年份
%m:两位月份(带前导0)
%d:两位日期(带前导0)
%H:两位小时(带前导0)
%M:两位分钟(带前导0)
%S:两位秒数(带前导0)
calendar
格式1:#cal——输出当前所在月份的日历(等同于#cal -1)
格式2:#cal -3 ——输出最近三个月的日历(上个月 本月 下个月)
格式3:#cal -y 年份——输出某一年份的日历
作用:清除终端中已经存的命令和结果(信息)
(注意:该命令并没有清除所有信息,只是起到了一个翻页效果)
管道的符号:一根竖线“|”
管道的作用:“过滤“,”特殊用法“,”扩展处理“
格式:管道不能单独使用,必须配合前面的其他指令,主要是辅助作用
”# ls / |grep y“,观察这个指令——意思是:从ls列出的信息中筛选出带有y的
斜杠/表示根目录
管道符|作为分界线,前面指令的输出作为后面指令的输入
后面的指令指明了筛选要求,这样就起到了过滤作用
grep :(缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。
作用:主机名(读取,临时修改)
格式1:#hostname ——输出完整的主机名
格式2:#hostname -f——输出当前主机名中的FQDN(全限定域名-同时带有主机名和域名的名称)
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id)
[root1214@localhost ~]$ id
uid=1000(root1214) gid=1000(root1214) 组=1000(root1214) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
验证上述信息: (通过cat命令来查看用户信息相关的配置文件 passwd和group)
(中间可以不带空格whoami,或者直接who,有一点点区别,瞅瞅)
(pts是伪终端或虚拟终端)
who:显示当前真正登录系统中的用户(也就是最先登陆是什么名字就显示什么,不会显示su切换的登陆者) who am i: 同上吧… whoami: 显示当前正在使用主机的用户的用户名(仅用户名)
作用:一般用于shell脚本中,收集日志(方便查看是哪个用户名做了哪些更改)
作用:主要是查看服务器当前运行的进程信息
-e:表示列出全部的进程 -f:列出所有的列(显示全字段)
UID:用户id PID:进程id——【最为重要】
PPID:该进程的父进程id(如果一个程序的父级进程找不到,该进程称之为僵尸进程,需要手动结束,kill指令,可以再配合管道筛选)
C:cpu的占用率(单位百分比)
STIME:启动时间
TTY:发起该进程的终端的设备号
(显示问号的,则不是终端发起的)
TIME:进程已运行时间
CMD:该进程名称(或对应的路径)
案列: 比如在日常工作中,我们要查看某个服务的端口号
# ps -ef|grep gnome-panel
(如果没有相关的,也至少会匹配到一个,也就是当前这条指令$ ps -ef|grep gnome-panel所产生的进程,可以看到设备终端号为pts/0) 输出结果: root1214 5373 3104 0 17:46 pts/0 00:00:00 grep –color=auto gnome-panel
# netstat -tnlp| grep 5373
作用:动态展示服务器正在运行进程信息
格式:
进入命令:# top 退出命令:q
PID:进程id USER:进程对应的用户 PR:进程优先级 NI:用户进程空间内改变过优先级的进程占用cpu的百分比(下来再查一下) VIRT:虚拟内存——申请的 RES:常驻内存——实际使用的 SHR:共享内存——原进程所依赖的其他系统组件所消耗的内存(算在进程的常驻里边了,但实际不是该进程所消耗的) SHR包含于RES,一定小于RES
计算一个进程实际使用的内存=常驻内存RES – 共享内存SHR
S:表示进程状态,其中S表示sleep,R表示run %CPU:cpu占用百分比 %MEM:内存占用百分比 TIME+:执行的时间 COMMAND:进程的名称或者路径
此处可以使用的快捷键(运行top时) M——将内存按照内存MEM从高到低进行降序排序(大写) P——按照cpu占用情况降序 1——当服务器拥有多个cpu时,使用1来切换是否展示各个cpu的详细信息
作用:查看目录的真实大小 -s:(summaries)只显示汇总的大小 -h:以较高可读性的形式进项显示
格式:#du -sh 路径 (不加路径,显示当前目录的真实大小)
参数比较多,用时候查manual
格式:#find 路径 选项 文件名 选项:
案例1:使用find来搜索根目录下的文件:httpd.conf ——#find / -name httpd.conf
案例2:搜索ect目录下所有的conf 后缀的文件——$ find /etc -name *.conf
(如果需要统计数量,就加上管道,再加wc -l命令——$ find /etc -name *.conf | wc -l)
案例3:搜索/etc/sane.d/目录下所有的文件——$ find /etc/sane.d/ -type f
(find指令是可以搜出隐藏文件的)
作用:用于控制一些软件服务的启动、停止、重启
语法:#service 服务名 start/stop/restart
作用:表示杀死进程
格式: #kill + PID #killall + 进程名称
kill不带参数下,kill 发送SIGTERM(15)信号给进程,告诉进程,你需要被关闭,请自行停止运行并退出。 kill -9 发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。 TERM(或数字9)表示“无条件终止”;
因此 kill – 9 表示强制杀死该进程;与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理。
作用:查看网卡信息
作用:重新启动计算机 语法1:#reboot 语法2:#reboot -w(模拟重启,实际不重启——只是在日志文件中记录了开关机信息)
作用:关机 (远程连接时慎用,可能需要物理开机)
语法1: 立即关机#shutdown -h now 定时关机#shotdown -h 15:25 “关机提示信息”
取消关机:
除了shutdown指令关机,还有以下几个关机命令
作用:输出计算机的运行时长
[root@localhost ~]# uptime 13:55:05 up 13 min, 2 users, load average: 0.00, 0.09, 0.16
当前时间 ,运行时长,用户数量,平均负载:最近1分钟,5分钟,15分钟
作用:获取操作系统相关信息
语法1:#uname——获取当前操作系统类型
语法2:#uname -a——获取完整信息(常用于获取系统内核版本信息)
#uname -a Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
当前系统+ 完整主机名 +系统内核版本 +系统发行时间 +GNU计划(开源)
作用:查看网络的连接状态 语法:#netstat -tnlp
-t:表示只列出tcp协议的连接 -n:表示将ip地址,端口名,以对应数字显示(numerical) -l:表示过滤出state列(状态)中,状态值为LISTEN(正在监听)的连接 -p:显示对应连接的进程PID和进程名称
常用默认端口号
80-apache(web服务器软件)
22-sshd
3306-数据库
manual——手册
作用:展示Linux所有命令的相关信息
语法:#man 命令 (按q退出)
补充: 在命令行中快速清空已输入信息的光标前后内容的快捷键: 前:ctrl + u 后:ctrl + k
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168479.html原文链接:https://javaforall.cn