首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux学习

Linux学习

作者头像
曼路
发布2018-10-18 15:24:41
2.1K0
发布2018-10-18 15:24:41
举报
文章被收录于专栏:浪淘沙浪淘沙

一、基础指令     1.ls指令         ../    上级目录         ./    当前目录         ls -al                      -l 表示list,一详细列表的形式显示             -a 表示显示所有目录和文件     2.pwd指令     3.cd指令         cd~    回到家目录     4.midir指令         mkdir 路径         mkdir -p 路径    创建多层目录         5.touch指令         创建文件     6.mv指令         剪切命令         mv 需要移动的文档路径 需要保存的位置路径         可以移动文件夹     7.rm指令         -f    强制删除         -r    递归删除文件夹     8.vim指令     9.cp指令         cp 被复制的文档路径 文档被复制到的路径         当使用cp命令对文件夹进行复制的时候,需要添加"-r"(表示递归)     10.输出重定向         有时候需要将一些命令的执行结果保存到文件中,进行后续的分析,则需要用到输出重定向技术。     11.cat指令     12.tail         tail -F a.txt    可以实时改变 二、进阶指令:     1.df -h(换算单位) :查看磁盘空间     2.free -m:以MB为单位查看内存剩余         swap:临时内存     3.head -3     4.tail -3       tail -f 文件路径:可以查看一个文件的动态变化     5.less  :查看文件,以较少的内容     6.wc:统计文件内容信息       wc -l  查看行数,-w 单词数,-c 字节数     7.date       查看时间日期  date +%F   (等价于date "+%Y-%m-%d")       date "+%F %H-%M-%S(%T)"       设置日期         date -s 字符串时间             date -s "2018-10-10 11:22:22"         时间与网络时间一致         ntpdate 0.asia.pool.ntp.org     8.cal        cal -1  当前月份       cal -3  上月,本月,下月       cal -y 年份:某一年月份的日历     10.clear  ==  Ctrl+L      11.grep          grep [] 关键词 文件路径             -i 忽略大小写             -c 计算个数             -n 输出所在行数和内容             -v 输出不包含该内容的其他东西     12 which whereis         查找命令在哪里 三、高级指令:     1.hostname:主机名     2.id:当前用户的基本信息     3.whoami:显示自身的用户名称     4.ps -ef:查看当前服务器的进程信息    System V 展示风格         -e:列出全部的进程         -f:显示所有列        ps -aux    BSD分格         如果想查看进程的CPU占用率和内存占用率,可以使用aux          如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ef     5.top:查看服务器进程所占的资源。         load average 平均负载             单核:小于等于1代表正常,大于1代表负载过高,大于2 需要增加配置             多核:*核数     6.du -sh:查看目录所占的磁盘空间     7.find 范围 -type/-name         ? 一个占位符    * 多个占位符     8.service  :控制一些软件的服务启动、停止、重启         service 服务名 start/stop/restart     9.kill:杀死进程         kill 进程PID         killall [] 进程名称             -9 强制杀死     10.管道 |         过滤:ls / | grep *.txt     11.ifconfig:用于操作网卡     12.reboot:重启         reboot -w 模拟重启,但不重启(写日志)     13.shutdown:关机 init 0/halt/poweroff         shutdown -h now         shutdown -h 12:30   shutdown -c取消关机     14.uptime:输出计算机的持续在线时间     15.uname:获取操作系统的类型        uname -a 表示获取全部的信息     16.netstat -atnlp        网络端口占用情况        netstat:查看网络连接状态        -t:只列出tcp协议的连接        -n:将地址从字母组合转化成ip地址        -l:过滤出"state(状态)"列中值为Listen(监听)的连接        -p:显示进程pid和进程名称     17.man(manual):包含全部Linux命令的手册。     18.Ctrl+u 快速删除命令行中光标前的内容。        Ctrl+k 光标后      19.文件权限         -rwxr--r--  1 root root        61 Jul 27 22:54 a.c         第一位:-:文件    d:文件夹             权限:读写执行         u    所有者         g    用户组         o    其他人         a    所有人         chmod a+x 文档路径         chmod a = rwx    设置权限         r = 4    w = 2    x = 1    - = 0         chmod    777 文档路径         chmod -r 777 目录路径        表示对当前目录及目录下所有的文件执行     20.安装命令        yum install -y tree     四、vim     1.vim三种模式         命令模式:快捷键操作(删除行,复制行,移动光标,粘贴)         编辑模式:编辑文件         末行模式:输入命令操作(搜索,替换,保存,退出,撤销,高亮)     2.vim打开文件的方式         #vim         #vim +数字 文件的路径    :打开指定的文件,并且将光标移动的指定行         #vim +/关键词 文件的路径  :打开指定的文件,并且高亮显示关键词         #vim 文件路径1 文件路径2 问阿金路径3   :同时打开多个文件     3.命令模式         3.1 光标移动             ①光标移动到行首    shift+6或^             ②光标移动到行尾    shift+4或$             ③光标移动到首行    gg             ④光标移动到尾行    G             ⑥翻屏                               向上 ctrl+b                    向下 ctrl+f         3.2 复制             ①复制光标所在行        yy     粘贴(p)             ②从光标所在行开始,向下复制指定的行数    数字yy             ③可视化复制            Ctrl+v  移动方向键选中需要复制的块 按yy  按p         3.3剪切/删除             ①剪切/删除 光标所在行                    dd(删除之后,下一行上移)             ②剪切/删除 光标所在行开始,向下多行        数字dd             ③剪切/删除 光标所在位置后边的(删除之后,下一行不上移)    D         3.4撤销/恢复             ①撤销    :u  或  u  (undo)             ②恢复    ctrl+r   取消之前的撤销操作         3.5扩展--光标的快速移动             ①快速将光标移动到指定的行数    数字G             ②以当前光标为准,向上/向下移动n行    数字 ↑/↓             ③以光标为准 想左/向右                数字←/数字→             ④末行模式下,  输入: 数字  回车     4.末行模式         进入方式             在命令模式下,输入:         退出方式             ①按一下esc    ②按两下esc    ③将末行内容全部删除         4.1保存操作                     输入":w"        保存文件             输入":w 路径"    另存为         4.2退出操作             输入":q"         4.3保存并退出             输入"wq"             输入":x"    写入文件并退出         4.4强制             输入"q!"    强制退出,刚才做的修改不操作。         4.5调用外部命令             输入":!外部命令"         4.6搜索/查找             输入"/关键词"                 切换搜索结果  N/n             如果需要取消高亮  输入":nohl"         4.7替换             :s/搜索关键词/新的内容            替换光标所在行的第一处符合条件的内容             :s/搜索关键词/新的内容/g        替换光标所在行的全部符合条件的内容             :%s/搜索关键词/新的内容            替换整个文档中所有行的第一处符合条件的内容             :%s/搜索关键词/新的内容/g        替换整个文档中所有符合条件的内容             %表示整个文档     g表示全局         4.8显示行号             输入":set nu"        下次进入就没了             取消":set nonu"         4.9扩展  打开多个文件操作             输入":files"    查看现在打开了哪几个文件             %a 表示当前打开的文件             # 表示上一个打开的文件             输入":open 文件名"    打开文件             输入":bn" 切换到下一个文件 back next             输入":bp" 切换到上一个文件 back prev     5.编辑模式         进入编辑模式:             在命令模式下               按 i 在光标所在前面插入              按 a 在光标所在后面插入     6.vim的实用功能         6.1代码着色             打开颜色显示 ":syntax on"             关闭颜色显示  ":syntax off"         6.2计算器的使用             当在编辑文件的时候,突然需要使用计算器去计算一些公式,则此时需要用计算器。             此时,用vim集成的计算器                 a.进入编辑模式                 b.按"ctrl + r",然后输入"=",此时光标变到最后一行                 c.输入需要计算的内容,按下回车。     7.扩展功能         7.1vim的配置             ①在文件打开的时候在末行模式下输入的配置(临时)             ②个人配置文件(~/.vimrc)  如果没有,可以自己创建             ③全局配置文件(vim自带,/etc/vimrc)         7.2异常退出             在编辑文件后没有正常退出,突然关闭终端或断电。             解决办法 : 将交互文件(.swp)删除即可。         7.3别名机制             创建一些属于自己的自定义的命令             依靠一个别名映射文件:~/.bashrc             修改之后,需要重新登录当前用户         7.4退出方式             :wq 文件若没有修改,但是使用了wq,则文件的修改时间会更新。             :x 文件没有被修改,则时间不会被更新。             :X 对文件进行加密 五、Linux自有服务     1.运行模式         也称之为运行级别         在Linux 中存在一个进程:init(initialize,初始化),进程id是1.         查看进程:ps -ef|grep init         该进程存在一个对应的配置文件   inittab(系统运行级别配置文件,位置/etc/)                     0---关机级别                     1---单用户模式             init    2---多用户模式,不带NFS                     3---多用户模式,完全的多用户,命令行模式                     4---被保留模式                     5---X11,完整的图形化界面模式,图像界面模式                     6---表示重启级别 六、用户管理     1.用户管理         1.1添加用户             #useradd 选项 用户名                 选项: -g:表示指定用户的用户主组,id 或 组名                         -G:表示用户附加组,id 或 组名                          -u:uid , 用户的id             查看用户的主组 可以查看passwd文件             查看用户的附加组可以查看group文件         1.2修改用户             #usermod 选项 用户名             选项: -g:表示指定用户的用户主组,id 或 组名                     -G:表示用户附加组,id 或 组名                      -u:uid , 用户的id                     -l:修改用户名         1.3设置密码             前面创建的用户都处于锁定状态,需要设置密码后才能登陆计算机。             #passwd 用户名             输入密码         1.4删除用户             #userdel 选项 用户名             选项:                 -r; 表示在删除用户的同时,删除其家目录         1.5切换用户             #su 用户名   (不写用户名默认为root)             输入密码    (切换普通用户不需要输入密码;切换root需要输入密码)         提示:所有跟用户操作的命令,(除passwd外,)都需要root才能执行。     2.用户组管理         涉及用户组的添加、删除和修改。组的增加,删除和修改实际上就是对/etc/group文件的更新         文件结构:         用户组名:密码:用户组ID:组内用户名          密码x表示占位符         2.1用户组添加             groupadd    选项    用户组名             选项 -g  用户组id         2.2用户组编辑             groupmod 选项    用户组名             选项:-g 修改用户组id                 -n 修改用户组名         2.3用户组删除             groupdel    用户组名             如果需要删除一个组,但是这个组是某个用户的主组,则不允许删除;             如果确实要删除,需要将用户移走或删除。     3.网络设置         网卡配置路径:/etc/sysconfig/network-scripts/         ifcfg-ens33         ifcfg-lo         3.1重启网卡:service network restart                   /etc/init.d/network restart         3.2创建快捷方式             ln -s 原始文件路径  快捷方式路径         3.3重启单个网卡             停止某个网卡:#ifdown    网卡名             开启某个网卡:#ifup    网卡名     4.ssh服务         ssh(安全外壳协议),该协议有2个常用的作用:远程连接协议,远程文件传输协议。         4.1协议使用端口号:默认 22             如果需要修改,则需要修改配置文件  /etc/ssh/ssh_config                 端口号范围  0~65535         4.2服务启动/停止/重启                 service sshd start/stop/restart         4.3终端工具             PuTTY             Xshell             secureCRT         4.4SSH服务文件传输工具             可视化的界面传输工具  filezilla工具                 通过命令行工具传输    pscp(通过cmd打开) 七、补充     7.1快捷方式         硬连接        ln    原路径    现路径         软连接        ln    -s    原路径    现路径         删除软连接    rm -rf 路径(后面不带/)         ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;     7.2history         查看已经执行过的历史指令,执行已经执行过的指令         ①history    显示所有的历史指令         ②histort 10    显示10个历史指令         ③!编号        执行历史编号的指令     7.3搜索查找命令         ①find             find [搜索范围] [选项]                 find /home hello.txt                 find /opt -user nobody    按文件拥有者查                 find / -size +20M    查大于20M的文件。(+n大于 -n小于 n等于)         ②locate             快速定位文件路径,利用locate数据库实现快速定位。             第一次运行前,必须使用updatedb指令创建locate数据库             locate 搜索文件         ③grep 和 管道符号|             grep,过滤查找;"|"前一个命令的处理结果交给后面的命令处理             grep [选项] 查找内容 源文件                 [选项] -n 显示匹配及行号    -i 忽略字母大小写                 cat hello.txt | grep -ni yes     7.4压缩和解压缩         ①gzip/gunzip(.gz)             gzip 文件        (压缩后,不会保留原文件)             gunzip 文件         ②zip/unzip             zip [选项] XXX.zip 将要压缩的内容    (压缩文件和目录)                 -r 递归压缩目录             unzip [选项]XXX.zip                 -d<目录> 指定压缩后的文件目录         ③tar(打包指令 .tar.gz)             tar [选项] XXX.tar.gz 打包文件        :打包目录,压缩后的格式为 .tar.gz                 -c 产生.tar打包文件                 -v 显示详细信息                 -f 指定压缩后的文件名                 -z 打包同时压缩                 -x 解压.tar文件             压缩    tar -zcvf a.tar.gz a1.txt a2.txt             解压    tar -zxvf a.tar.gz    -C 路径     7.5修改文件所有者         chown 用户名 文件名         修改文件所在组             chgrp 组名 文件名         改变用户所在组             usermod -g 组名 用户名             usermod -d 目录 用户名    (改变该用户登录的初始目录)     7.6定时任务调度(crond)             简单的任务不需要编写脚本,对于复杂的任务需要写脚本实现。         ①crontab进行定时任务的设置             crontab [选项]                 -e 编辑crontab定时任务                 -l 查询crontab任务                 -r 删除当前用户所有的crontab任务             步骤:                 crontab -e                     分 时 日 月 星期                     */1 * * * * ls - l /etc >> /tmp/to.txt                         * 任何时间                             , 代表不连续的时间                             - 代表连续的时间范围                         */n 代表每隔多久     7.7磁盘分区,挂载         7.7.1             ①mbr分区                 最多四个主分区;系统只能安装在主分区;兼容性好             ②gpt分区                 支持无线多个主分区                 最大支持123Eb大容量             挂载(mount)                 将磁盘与Linux的某文件链接在一起。                 lsblk -f  查看系统的分区和挂载的情况         7.7.2如何增加一块硬盘?             虚拟机添加硬盘             分区        fdisk /dev/sdb             格式化        mkfs -t ext4 /dev/sdb1             挂载        mount /dev/sdb1 /home/newdisk             设置可以自动挂载    vim /etc/fstab                                 /dev/sdbl  /home/newdisk  ext4 defaults 0 0     7.8磁盘情况查询         7.8.1查询系统整体磁盘使用情况             df -h         7.8.2查询指定目录的磁盘情况             du -h /目录                 -s 指定目录占用大小汇总                 -h 戴计量单位                 -a 含文件                 -c 列出明细的同时,增加汇总量                 --max-depth= n  子目录深度         7.8.3磁盘情况---工作使用指令             1)查看/home目录下文件的个数                 ls -l /home |grep "^-" | wc -l             2)统计/home及子目录下的所有文件的个数                 ls -lr /home |grep "^-" | wc -l             3)以树状显示目录结构                 tree 八、网络设置     8.1 固定IP设置         etc/sysconfig/network-scripts/ifcfg-ens33             BOOTPROTO=static             ONBOOT=yes             IPADDR=192.168.1.3             NETMASK=255.255.255.0             GATEWAY=192.168.1.111             DNS1=8.8.8.8            //域名解析             DNS2=8.8.4.4     8.2 设置hostname         /etc/hosts                 设置ip 和 hostname 九     1.安装jdk         卸载自带的jdk             rpm -qa | grep jdk        检索jdk             rpm -e java-1.7.0-openjdk* --node    删除         安装             1).安装包上传到linux系统中             2).解压 tar -zxvf jdk* -C /usr/local             3).配置环境变量                 vim /etc/profile                 export JAVA_HOME=/usr/local/jdk*                 export PATH=$PATH:$JAVA_HOME/bin             4).使变量生效                 source /etc/profile     2.传输文件         1)rz        win往linux传文件         2)sz file    linux往win传文件     3.主机名修改         vi /etc/sysconfig/network     4.修改hosts(主机名映射)         /etc/hosts     5.pstree 进程树         -p 加上pid         -u 查看所属用户     6.服务管理(service)         6.1定义             service 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,             比如(mysql,防火墙,sshd),因此,我们又称为守护进程,是linux非常重要的知识点。         6.2 使用             service 服务名 [start|stop|restart|reload|status]             centos7后,使用systemctl         6.3 查看服务名             1)使用setup -> 系统服务 九可以看到             2)ls -l /etc/init.d 服务名称         6.4 服务的运行级别(vi /etc/inittab)             0:系统停机级别,             1:单用户工作状态,root权限,用于系统维护             2:多用户状态(没有NFS),不支持网络             3:完全的多用户状态,登录后进入控制台命令行模式             4:系统为使用,保留             5:X11控制台,登录后进入图形化界面             6:系统正常关闭并重启,默认不能设置,否则不能正常启动。         6.5 开机运行流程             开机->BIOS->/boot->init进程->运行级别->运行级别对应的服务         6.6    不小心将级别设置为0或6 怎么办?             进入单用户模式,进行设置     7. 动态监控进程         top和ps 都用来显示正在执行的进程,top可惜实时更新。             top -d 10  10s刷新一次                  p    一CUP使用率刷新,查看执行的进程                 M    以内存的使用率排序                 N    以PID排序                 q             1)监视特定用户                 top 查看执行的精彩                 u 用户名 按回车             2)终止指定的进程                 top: 查看进程                 输入k 回车,在输入要结束的进程ID号。     8.监控网络端口服务         netstat [选项]             -an    按一定顺序输出             -p    显示那个进程在调用 十、RPM和YUM         1.rpm包的管理             1.1介绍                 一种用于互联网下载包的打包及安装工具,包含在某些Linux分发版中,它生成                 .RPM扩展名的文件。             1.2                 1.2.1 查询已安装的rpm列表                             rpm -qa | grep xx                 1.2.2 查询安装软件的版本等信息                     rpm -qi 软件名                 1.2.3 查看软件包安装到哪里去了                     rpm -ql 软件名称                 1.2.4 查询文件属于哪个软件包                     rpm -qf 文件             1.3 卸载RPm包                 rpm -e RPM包的名称 --nodeps             1.4 安装rpm包                 rpm -ivh RPM包全路径名称                     i= install 安装                     v= verbose 提示                     h= hash 进度条             1.5安装高版本的MySQL                 下载一个rpm,安装上一个配置文件,(包含了mysql的yum下载配置文件)                 rpm -ivh xx.prm                 修改配置文件    /etc/yum.repos.d/mysql-community.repo                     把5.7的 enable=0 改为 enable =1                     把8.0的 enable=1 改为 enable=0                 安装 yum install -y mysql-community-server                     service mysqld start                     service mysqld restart                 查找临时密码    grep 'temporapy password' /var/log/mysqld.log                 mysql -uroot -p                 ALTER USER 'root'@'localhost' IDENTIFIEd BY '123456'                 防火墙 远程操作         2. YUM             2.1 介绍                 Yum是一个Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动                 下载RPM包并且安装,可以自动处理依赖性关系,并且一次性安装所有依赖的软件包             2.2指令                 2.2.1 查询yum服务器是否有需要安装的软件                     yum list | grep xx                 2.2.2 安装                     yum install xx                 2.2.3 卸载                     yum remove xx         3. 防火墙设置             重启:#systemctl restart firewalld.service             启动:# systemctl start  firewalld             查看状态:# systemctl status firewalld 或者 firewall-cmd --state             开机是否启动:# systemctl disable | enable firewalld             禁用:# systemctl stop firewalld             更新防火墙规则:             # firewall-cmd --reload             # firewall-cmd --complete-reload         4. 克隆             克隆一个一模一样的操作系统             克隆步骤                 1) 将克隆前的网卡序列号删除 UUID,HWADDDR                 2) 克隆(关机状态)                 3) 删除网卡eth0,将eth1改为eth0                     /etc/udev/r*/70*net*                 4) 修改网络配置eth0                 5) 重启电脑         5. 集群同步时间             ntpdate 0.aira.pool.ntp.org         6.scp 远程copy文件             scp file mar01:/root             scp -r dir mar01:/root         7. 免密登录             1)yum install -y openssh-clients    安装ssh客户端             2)生成公钥和私钥                 ssh-keygen -t rsa             3)把你的公钥发给别人(一旦其他机器接受了公钥,西祠登录就不需要密码了)                 ssh-copy-id -i /root/.ssh/id_rsa.pub hostname(ip)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月31日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档