zoukankan      html  css  js  c++  java
  • Linux 笔记

    Linux笔记

    1.了解linux

    (1)操作系统

    (2)开源(开放源代码)

    (3)免费

    (4)品质好,低成本

    为什么学习Linux

    (1)稳定且效率比较高

    (2)多用户多任务

    (3)更加安全文件、用户策略

    (4)可移植性好

    Redhat红帽

    Centos社区企业操作系统

    Ubuntu(乌班图):拥有出色的桌面系统

    打开linux虚拟机

    vmware>文件>打开(选中CentOS 64 位演示.vmx),导入后启动虚拟机即可

    登录Linux系统

    用户名:root    密码:123456

    输入登记密码时界面上看不到任何字符,正常输入后按Enter即可

    root: 当前登录的用户名

    localhost: 主机名

    ~ :当前所在的目录,此处为“家”目录

    Linux内核官方下载网站:https://www.kernel.org/

    安装Xshell(第三方linux管理工具)

    打开Xshell,连接到Linux

    新建》

    点击“连接”,输入正确的用户名和密码即可成功连接到Linux中

    Linux命令结构 :

    命令名称 【命令参数】【命令对象】

    注意,它们之间要有空格隔开

    命令参数:采用长格式--或者短格式-

    man –-help (长格式)

    man -h  (短格式)

    命令对象:被处理的文件、文件夹、目录、用户等

    man: 显示某个命令的帮忙文档(例:man ls)

    支持翻页

    Q退出

    Linux命令大全(中文):

    http://man.linuxde.net/

    清屏:clear

    xshell优点

    1.通过上下方向键可以查看之前执行的命令

    2.支持Tab键补全

    3.支持翻页

    列出目录内容:

    ls -a  显示所有的文件(包括隐藏文件,以.开头)

    ls    显示所有的文件(不包括隐藏文件)

    ls -l  显示文件的详细信息,等同于ll

    文件命名规则:

    (1)区分大小写

    (2)最多255的字符

    (3)除了“/”外,其它都是有效的字符

    (4).开头的属于隐藏文件(ls -a)

    查看文件类型:file 文件名称

    查看当前工作目录:pwd

    Linux文件系统结构

    Linux文件系统为一个倒转的单根树状结构

    文件系统的根为/

    路径使用/分割

    bin:存放系统常用命令

    dev: 存放外部设备

    etc: 存放所有系统管理所需要的配置文件和子目录

    root: 系统管理员主目录

    tmp: 存放临时文件或目录

    var:  存放系统日志

    绝对路径 和 相对路径

    绝对路径:以/开头,递归每级目录直到目标和路径,不受当前所在工作目录的影响

    相对路径:以当前目录为起点,到达目标的路径受当前所在目录影响

    cd 切换目录

    .. 返回上一层目录

    . 当前目录

    ~ 用户家目录

    创建删除文件:

    通过touch命令可以创建一个空文件或更新文件时间

    通过rm 命令可以删除文件或目录

    -f 强制删除

    -r 递归删除非空的文件夹)

    格式:rm -rf 文件名或目录名

    支持的通配符

    *匹配0个或者多个任意字符

    ?匹配1个任意字符

    【0-9】匹配一个数字范围

    【abc】匹配一个字母范围

    【^abc】匹配列表以外的字符

    创建、删除目录

    创建文件夹格式:mkdir 文件夹名称

    -p 递归创建文件夹

    -v 显示创建的过程

    rmdir删除空的文件夹

    格式:rmdir 空文件夹名称

    rm -rf 文件夹名称:删除非空的文件夹

    复制文件、目录

    格式:cp 源文件(目录) 目标文件(目录)

    -r 递归复制整个目录树

    -v 显示复制过程

    移动、重命名文件或目录

    格式:mv 源文件  目标文件

    -f 覆盖原有的文件

    查看历史命令

    history

    !序号

    查看与修改日期时间 (date)

    修改日期:date -s 20001012

    修改时间:date -s 12:23:21

    修改日期与时间: date -s “20081023 12:23:21”

    把时钟时间设置为系统时间:clock -s

    查看日历(cal)

    当月日历:cal

    当年日历:cal -y

    当年第几天:cal -j

    查看运行时间

    15:28:04 系统当前时间

    up 4:56  主机已运行的时间

    2 users  用户连接数

    load overage: 0.00 , 0.01 , 0.05   统计最近1分钟、5分钟、15分钟的系统平均负载

    VI文本编辑器

    命令vi 可以启动Vi编辑器

    格式:vi 文件名

    如果目标文件存在,vi会打开该文件

    如果目标文件不存在,vi会新建该文件

    Vi模式:三种模式(命令模式、输入模式、末行模式)

    命令模式:选择、复制、粘贴等操作

    移动光标

    3j 光标所在行往下移动3行

    gg 返回首行首列

    G 返回末行首列

    3G 返回第3行

    复制粘贴

    yy 复制光标所在行

    3yy 从光标向下复制3行

    p 粘贴到光标下一行

    2p 粘贴2次

    删除

    dd 删除光标所在的行

    3dd 从当前向下删除3行

    替换

    r 替换光标所在的字符内容

    撤销

    u 撤销

    搜索

    /要搜索的单个字符  (n 下一个、N 上一个)

    ?要搜索字符串  (n 下一个、N 上一个)

    输入编辑(内容编辑)

    i 光标前面插入内容

    a 光标前面插入内容

    o在光标新建下一行中插入

    末行模式

    :set nu 显示行号

    :set nonu 不显示行号

    :wq! 强制保存并退出

    :w 保存

    :q 退出

    :q! 不保存,强制退出

    查看文件内容(cat、head、less、more、tail)

    格式:cat  文件名  (显示文件内容从上往下)

    -n 显示行号

    head (显示文件头几行内容,默认前10行)

    head -n5 a.cfg (显示文件前5行内容)

    more 全屏按页显示文件内容

    空格  向下翻一页

    b     向上翻一页

    回车  向下翻一行

    q    退出阅读

    less全屏按页显示文件内容,支持键盘翻页键

    空格  向下翻一页

    b     向上翻一页

    回车  向下翻一行

    q    退出阅读

    支持键盘翻页键

    tail 显示文件的末尾几行内容(默认末10行)

    tail -n3 b.txt  显示文件后3行

    tail -n+5 b.txt  显示文件从第5行到末尾的内容

    wc命令计算数字

    -c 统计字节数

    -l 统计行数

    -w 统计字数(连在一起算一个字,空格隔开的算另外一个)

    用sed命令

     sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

    Head –n10 a.txt | tail –n+5       也可以只查看文件的第5行到第10行

    du -h 文件名  查看文件大小

    df -h 用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

    查看后台运行的程序及运行状态 (jobs)

    ping www.baidu.com >ping.log&

    jobs 查看当前所有后台的作业

    ctrl+z  将前台放到后台,会变成停止状态

    fg 序号  将后台放到前台

    bg 序号  让停止的作业在后台继续运行

    关机、重启

    shutdown用于关机、重启计算机

    -h 关闭计算机

    -r 重启计算机

    shutdown -h now  立即关机

    shutdown -h 23:00  23:00定时关机

    shutdown -h +10  10分钟后关机  (shutdown -c  取消关机)

    shutdown -r now  立即重启

    reboot 立即重启计算机

    poweroff  立即关闭计算机

    logout 注销登录的用户

    归档、压缩

    gzip用来对单个文件压缩

    压缩:gzip 要压缩的文件名

    解压:gzip -d 压缩后的文件名(gunzip 等同于 gzip -d)

    对多个文件进行归档和压缩

    (1)归档:tar -cvf abcd.tar *.txt

    (2)压缩:gzip abcd.tar

    归档并压缩:tar -zcvf abcd.tar.gz *.txt

    解压到指定的文件夹

    tar -zxvf abcd.tar.gz -C ./A/  (把abcd.tar.gz解压到当前路径下的A文件夹中)

    -c 新建备份文件

    -v 显示详细信息

    -f 指定备份的文件

    -z 使用gzip压缩/解压缩

    -x 从备份中还原文件

    -C 解压到指定的文件夹

    查找文件

    find -name  文件名  (查找当前目录及子目录文件)

    find 文件名  (查找当前目录文件)

    挂载设备

    mount /dev/设备名 /mnt(挂载点)

    mount /dev/cdrom /mnt/

    卸载设备

    umount 文件挂载点   umount /mnt/

    用户、用户组

    (1)必须有一个用户身份,用户ID

    (2)组用来方便管理用户

    (3)每一个用户有一个主组,可以有一个或多个附属组

    (4)每个组也有一个组ID

    (5)系统中的文件有一个所属用户及所属的组

    超级管理员UID 0:系统管理员

    系统用户:UID 1~999

    普通用户UID:1000~

    使用id命令查看当前用户的信息

    使用passwd命令修改当前用户密码

    每一个组都有一个组ID

    组的信息保存在 /etc/group中

    每个用户有一个主组,同时可以最多有31个附属组

    查看登录的用户

    w:显示有哪些用户已经登录并且在干什么

    who    whoami

    创建一个用户

    (1)在/etc/passwd中添加用户信息

    (2)如果使用passwd命令创建密码,会在密码信息保存在/etc/shadow中

    (3)为用户创建一个新的家目录

    (4)将/etc/skel中的文件复制到用户家目录中

    (5)建立一个与用户名相同的组,新建用户默认属于这个同名组

    创建用户:useradd 用户名

    设置密码:passwd 用户名

    查看用户ID、主组、附属组信息: id 用户名

    useradd 支持的参数

    useradd 用户名 -g 主组名 -G 附属组名1,附属组名2……

    修改用户信息

    格式:usermod 参数 用户名

    -l 新用户名   ( usermod -l 新用户名 旧用户名)

    -g 用户所属的主组 (usermod -g root -G sys test999)

    -G 用户所属的附属组

    删除用户

    userdel 用户名 (删除用户,但不删除家目录)

    userdel -r 用户名 (删除用户以及家目录)

    创建、修改、删除组

    创建组:groupadd 组名

    修改组:groupmod -n 新组名 要修改的组名

    修改组ID:groupmod -g 新组ID 要修改的组名

    删除组:groupdel 组名

    切换用户

    su 用户名  (切换到指定的用户,但不使用新的运行环境)

    su – 用户名 (切换到指定的用户,使用新的运行环境)

    权限

    权限是操作系统用来限制对资源访问的机制(权限一般分为“读、写、执行”)

    三个权限分别用三个数组表示:

    r=4

    w=2

    x=1

    例:rw=4+2=6    rwx=4+2+1=7

    修改文件所属用户、组

    chown 用户名 文件名  (修改文件所属的用户)

    chown -R 用户名 文件名/夹  (递归修改目录下的所有文件所属的用户)

    chgrp 组名 文件名        (修改文件所属的组)

    chgrp -R 组名 文件名     (递归修改文件所属的组)

    修改GUO权限

    格式:chmod 模式 文件名  (修改用户和组对文件的操作权限)

    u 用户

    g  主组

    o  附属组

    + 加入权限

    -    删除权限

    r 读

    w 写

    x 执行

    用数字表示GUO权限

    chmod 654 a.txt   (rw- r-x r--)

    grep命令搜索文本内容

    grep ‘50’anaconda-ks.cfg

    -I 忽略大小写

    -n 显示结果所有的行号

    -v 输出不带关键字的行

    -Ax 在输出结果所在行之后的指定行数x

    -Bx 在输出结果所在行之前的指定行数x

    输出环境变量的值

    echo $PATH

    echo $LANG

    管道与重定向

    分类

    关键字

    定义

    例子

    重定向

    将STDOUT重定向到文件(覆盖)

    echo “linux” > outfile
    ls > a.txt

     

    >> 

    将STDOUT重定向到文件(追加)

    echo “linux” >> outfile
    date >> a.txt

     

    2>

    将STDERR重定向到文件(覆盖)

    ls not 2> a.txt

     

    2>>

    将STDERR重定向到文件(追加)

    ls not 2>> a.txt

     

    &>

    将STDOUT与STDERR结合(标准输出+标准错误)

    ls not &> a.txt

     

    重定向STDIN

    grep ‘50’ < anaconda-ks.cfg

    管道

    |

    将一个命令的STDOUT作为另一个命令的STDIN

    ls –l | grep txt

    cat -n anaconda-ks.cfg | head -n20 | tail -n5 ( 输出文件的16~20行的内容)

    systemctl管理服务的启动、重启、停止、重载、查看状态的命令:

    Sysvinit命令(CentOS 6系统)

    Systemctl命令(CentOS 7系统)

    作用

    service serviceName start

    systemctl start serviceName

    启动服务

    service serviceName restart

    systemctl restart serviceName

    重启服务

    service serviceName stop

    systemctl stop serviceName

    停止服务

    service serviceName reload

    systemctl reload serviceName

    重新加载配置文件(不终止服务)

    service serviceName status

    systemctl status serviceName

    查看服务状态

    显示所有已启动的服务: systemctl list-units --type=service

     firewalld (防火墙服务名)     network(网络服务名)

    systemctl start firewalld

    systemctl stop firewalld

    systemctl status firewalld

    systemctl设置服务的开机启动、不启动、查看各级别下服务启动状态的命令:

    Sysvinit命令(CentOS 6系统)

    Systemctl命令(CentOS 7系统)

    作用

    chkconfig serviceName on

    systemctl enable serviceName

    开机自动启动

    chkconfig serviceName off

    systemctl disable serviceName

    开机不自动启动

    chkconfig serviceName

    systemctl is-enabled serviceName

    查看特定服务是否为开机自启动

    基本网络参数:

    可上网:    IP地址  子网掩码   网关   DNS

    跨网段通信:IP地址  子网掩码   网关

    局域网通信:IP地址  子网掩码

    查看IP地址:  ip addr(7或以上版本)   ifconfig(7以下版本)

    网络信息配置

    vi /etc/sysconfig/network-scripts/ifcfg-ens32

    查看网卡状态:ifconfig -a

    网卡的禁用:   ifdown ens32

    网卡的启用:   ifup ens32

    ss命令(查看系统安全,了解)

    ss命令用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

    ss -l 显示本地所有打开网络连接端口

    ss -pl 显示每个进程具体打开的socket (又称“套接字”),

    ss sport = :22  (查看22端口是否被占用)

    ss -t -a (显示所有的tcp协议 socket)

    ss -u -a (显示所有的udp协议 socket)

    进程管理(top)

    top 实时动态查看系统运行情况(相当于Windows中的任务管理器)

    s 刷新时间

    ctrl + c  退出top命令

    vmstat 可实时动态监视操作系统的虚拟内存、进程、CPU活动。

    实例1:每2秒输出一条结果 vmstat 2

     

    Procs(进程):

    r: 运行队列中进程数量,这个值也可以判断是否需要增加CPU。(长期大于1)

    b: 等待IO的进程数量

     

    Memory(内存):

    swpd: 使用虚拟内存大小,如果swpd的值不为0,但SI,SO的值长期为0,这种情况不会影响系统性能

    free: 可用内存大小

    buff: 用作缓冲的内存大小(目前正在需要用的)

    cache: 用作缓存的内存大小 (一般保存的时间会比缓冲长)

     

    Swap (交换分区)

    si: 每秒从交换区写到内存的大小(数据量)

    so: 每秒写入交换区的内存大小

     

    IO :(现在的Linux版本块的大小为1024bytes

    bi: 每秒读取的块数

    bo: 每秒写入的块数

     

    system (系统):

    in: 每秒中断数,包括时钟中断

    cs: 每秒上下文切换数

     

    CPU(以百分比表示)

    us: 用户进程执行时间(user time)

    sy: 系统进程执行时间(system time)

    id: 空闲时间(包括IO等待时间)

    wa: IO等待时间

    st:CPU花费在执行系统上运行的虚拟机的时间(stolen time)

    显示活跃和非活跃的内存

    vmstat -a 1

    ps 报告当前系统进程状态(相当于windows任务管理器中的进程标签)

    ps -A 显示所有进程数

    ps -A | grep ssh (只显示ssh的进程)

    kill -9 pid PID号  (杀掉指定的PID号进程)   例如:kill -9 pid 3243

    通过进程名杀掉进程:

    TTY列为进程名

    pkill -kill -t pts/1

    下载

    curl 命令是一个利用URL规则在命令行下工作的文件传输工具。

    (1)将下载的文件显示到屏幕上

    格式:curl URL地址                   例如:curl https://www.bing.com/  。

     

    (2)将下载的数据以原始名称保存到文件中 (-O 大写字母O)

    格式:curl -O URL地址

    例如:curl -O https://b-ssl.duitang.com/uploads/item/201403/27/20140327155011_JTvzt.jpeg 

     

    (3)将抓取的页面内容保存到指定文件中 (-o 小写字母o)

    格式:curl -o 指定的文件名  URL地址           例如:curl -o home.html https://www.bing.com/ 

     

    Xftp工具:windows与linux之间的文件传输工具

    常用的RPM软件包命令:(离线安装)

    yum软件仓库命令:(在线安装)

    Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术,Yum软件仓库可以根据用户的要求分析出所需软件包及其相关依赖关系,然后自动从服务器下载软件包并安装到系统

    yum install -y sysstat

    查找命令的位置:

    which 命令名称

    在linux下部署Oracle11g数据库

  • 相关阅读:
    团队-团队编程项目作业名称-最终程序
    《团队-中国象棋-项目总结》
    课后作业-阅读任务-阅读提问-4
    《20171130-构建之法:现代软件工程-阅读笔记4》
    《软件工程课程总结》
    《20171117-构建之法:现代软件工程-阅读笔记-3》
    -课后作业-阅读任务-阅读提问-3
    《团队-中国象棋-团队一阶段互评》
    《团队-中国象棋-开发文档》
    《结对-贪吃蛇-结对项目总结》
  • 原文地址:https://www.cnblogs.com/szl6/p/9508272.html
Copyright © 2011-2022 走看看