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

    Linux基础笔记

    1. 初始shell命令

    (1)命令组成 : 命令 [选项] [参数]  (之间用空格隔开)

    eg: ls -l /home

    ls——命令:整条命令的主题

    -l——选项:会影响会微调命令的行为

    /home——参数:命令作用的对象

    (2)Tab可自动补全命令和文件

    (3)快捷键:

               ^C :终止前台运行的程序 (^C 即 Ctrl+C )

    ^D :推出 (exit)

    ^L :清屏

    1. 常用命令

    (1)       ls 列出所包含类容

    a)         –a:(all)查看目录下的所有文件,包含隐含文件

    b)         –l:(long)吃那个列表显示

    c)         –i:(inode)显示文件的索引号(inode号)

    d)         –d:(directory)只列处目录名,不显示其他内容

    e)         –h:(human)显示单位,以人性化方式显示

    (2)       cd切换工作路径

    绝对路径:从/开始

    相对路径:从 . 或 .. 开始(. 当前 , ..上一级)

    (3)       pwd显示当前工作路径

    (4)       查看文件内容

    a)         cat显示文件内容

    b)         less显示文件内容(比cat更灵活,可按屏显示,/+关键字 可进行搜索,q退出)

    c)         head –n 显示文件前n行

    d)         tail –n 显示文件最后n行

    (5)       复制、剪切

    a)         cp 复制(目录需加 -r)

    b)         mv 剪贴(目录需加 –r ,强制删除 -f )

    (6)       删除

    rm ( 目录需加 –r ,强制删除 –f )

    (7)       创建文件、目录

    a)         touch filename 创建空文件

    b)         mkdir dirname 创建空目录

    (8)       关机、重启

    a)         关机

                                           i.              Shutdown –h now

                                         ii.              Poweroff

                                        iii.              Half

                                        iv.              Init 0

    b)         重启

                                           i.              Shutdown –r now

                                         ii.              Reboot

                                        iii.              Init 6

    (9)       查看历史命令

    history

    (10)   查看手册

    (11)   Linux获得帮助

    a)         –help

    b)         man

    1. 区段1:用户指令
    2. 区段2:系统调用
    3. 区段3:程序库调用
    4. 区段4:设备
    5. 区段5:文件格式
    6. 区段6:游戏
    7. 区段7:杂项
    8. 区段8:系统指令
    9. 区段9:内核内部指令
    10. 区段n:Tcl或Tk指令
    11. 文件管理

    (1)       Linux一切皆文件

    (2)       显示文件信息

    a)         stat filepath

    b)         ls –l 显示内容各个字段解析

                                         i.               文件属性(占10个字符空间)

    1.  第一个字符:表示文件类型

    Linux的七种文件类型

                                    -        regular              普通文件

                                    d       directory           目录文件

                                    c       character                   字符设备文件

                                    b       block                  块设备文件

                                    l        link                      符号链接文件

                                    p       pipe                    管道文件

                                    s       socket                套接字文件

                 2.      后九个字符:表示文件权限

              拥有着 所属组 其他用用户(3个3位二进制,可用3个八进制表示)

                                    u     g        o             a(all)

    权限

    文件

    目录

    r(读取)

    读取文件的内容( cat )

    列出目录的内容(ls)

    w(写入)

    更改文件内容( echo )

    创建和删除目录的文件( touch/mkdir/rm )

    x(执行)

    作为命令执行文件

    可访问目录文件的内容(cd)

                 修改文件权限:chomd

                           chomd u/g/o/a  (- +)  r/w/x  filepath

                           chomd 0755 filepath

                 修改文件的所有者和所属组

                           chown username:groupname filepath

                 umask码:用于防止权限过大的文件

                           文件的真正权限:~umask  & mode

                                       ii.              文件的硬链接个数

    硬链接:同一个文件多个名字

               Inode是同一个分区文件的唯一标识(硬链接文件不能跨分区)

             ln srcpath dest 创建硬链接

    软连接(符号链接:相当于快捷方式,存储源文件的路径,可跨分区)

               创建软连接:

                        ln –s srcpath dest

                        cp –s srcpath dest

                                      iii.              文件拥有者、所有者

    useradd username 创建用户

    passwd username 为用户设置密码

    su – username 切换用户

    exit 登出用户

    groupadd groupname 创建用户

    groupdel groupname 删除组

    gpasswd –a username groupname 将用户添加到组中

    gpasswd –d username groupname将用户从组中删除

    /etc/passwd      用户信息

    /etc/group         组信息

    /etc/shadow     密码

                                      iv.              文件大小

    ls –l 中所显示的文件大小不等于文件所占磁盘大小

                        Linux中磁盘以块为单位,最小单位8block(1block =512bytes)

                        stat  filename

    du -sh filepath 查看文件对应的文件所占用磁盘空间的大小

    df -h 查看磁盘分区占用情况(包括挂载点)

                                       v.              文件时间

    Access time最近访问

    Modify time最近更改(ls –l 所显示时间)

    内容改变

    Change time最近改动

    属性改变

               内容分改变会引起属性的改变(内容改变后字节数会变)

    (3)       文件查找

    a)         可执行文件

                                         i.              which cmd

                                       ii.              whereis cmd

    b)         非可执行文件

                                         i.              locate  filepath遍历数据库

                                       ii.              updated 更新数据库

                                      iii.              find

           find path options

                                             -name 按名字找

                                             -size 按文件大小查找

                                             -mtime 修改时间

                                             find /etc/ -mtime n(天)

                                             -type 类型

                                             -exec 对于查找到的结果执行

                                             -ok在执行ls -l之前会询问

                                             -a 连接多个查找选项的

                                                      

    (4)       文件打包压缩

                                         i.              主要tar options xx.tar.xx file1.... dir.....

                        options:

                                 -c 创建

                                 -v 过程可视

                                 -f 在最后,后跟包名

                                 -j 生成bz2压缩格式

                                 -z 生成gz格式压缩文件

                                 -J 生成xz格式

                                 -x 解压缩

                                 -C 指定解压路径

                                 -t 不解压不解包的情况下查看压缩包中内容

                                 -r 向包中追加新文件

    ii.      压缩:

               .gz .bz2 .zip

    gzip file 压缩为.gz

               gunzip file.gz 解压缩

              

    bzip2 file

               bunzip2 file.bz2

               zip xxx.zip file dir1 dir2

                        unzip xxxzip

    (5)       文件重定向

    a)         当用户登陆成功后,三个文件依次打开:

    标准输入(stdin 0) 标准输出(stdout 1) 标准错误输出(stderr 2)

                                                   i.       0> 标准输入重定向

                                                  ii.      1>(可省略1直接使用>)标准输出重定向

    iii.    2>标准错误输出重

    iv.     >> 追加

    b)         管道 |

                                         i.              wc

    wc [-lwc] filepath

    -l line 统计filepath文件的行数

    -w word   单词个数

               -c charactor 字符个数

                                       ii.              grep

    grep [-iwn] key filepath

             -I --ignore-case 忽略大小写

             -w --word-regexp 精确查找

             -n --line-number在输出的每行前面加上它所在的文件中它的行号

    注:find 查找文件;筛选文件内容

            

    1. vim编辑器的使用

    vim filepath---->打开--->一般模式

               --->进入编辑模式进行编辑(iIaAoOsS)

               --->从编辑模式进入一般模式(Esc / Ctrl+c)

               --->从一般模式进入命令行模式(:w保存 :q退出)

    1. 软件包管理

    a)         源码包

    <1>下载并解压解包

    <2>编译make

             <3>make install

    b)         二进制包( .rpm )

    yum install xxxx 安装

                                         例如有如下软件包:

                                         coreutils-8.22-21.el7.x86_64.rpm

                                         yum install coreutils  (coreutils包名)

                                yum update xxxx 更新

    yum remove xxxx 卸载

                                yum repolist 查看仓库中有多少软件包

                                yum list 列出所有的软件包

                                yum provides /usr/bin/ls 查看文件对应的软件包

                                yum update coreutils 更新

                                yum clean all 清除缓存

                       本地yum源配置:

                                1.将镜像文件挂载到文件系统

                                2.创建镜像的挂载点 mkdir /mnt/centos7

                                3.光盘镜像在/dev/cdrom目录

                                4.挂载光盘镜像

                                         mount -t iso9660 -o loop /dev/cdrom /mnt/centos7

                                5.配置镜像的yum源

                                         vim /etc/yum.repos.d/my.repo                

                                         [local_centos7]

                                         name=centos7

                                         baseurl=file:///mnt/centos7

                                         enabled=1

                                         gpgcheck=0

    c)         已下载的rpm软件包,安装:

             xxxx.rpm

                                        

                                rpm -ivh xxxx 安装已下载的rpm包

                                rpm -e xxxx 卸载

                                rpm -U xxxx 更新

                                rpm -qa 查询系统中所有已安装的rpm包

             rpm -qf /usr/bin/ls 查询ls对应的软件包

    1. 网络管理

    a)         查看         ip, mac, netmask....

                      ip addr

                      ifconfig             

    查看/启动/重启/关闭/自启动/禁用服务

                       systemctl status/start/restart/stop/enable/disable 服务名字

    b)         手动配置静态ip地址

    c)         防火墙

    d)         vsftpd服务 (文件共享)

    e)         nfs远程挂载

    服务器配置:

    下载安装:

                       yum install nfs-utils rpcbind

    启动:

                                          systemctl start nfs

                                         systemctl enable nfs

                                         systemctl start rpcbind

                                         systemctl enable rpcbind

    编辑共享路径:

             vim /etc/exports

             /var/ftp/pub *(ro,sync,no_root_squash)        

    客户端挂载:

                                mount 192.168.5.129:/var/ftp/pub /mnt

    1. 进程管理

    a)         ps aux       查看进程信息

    b)         终止进程通过kill 发送信号

             kill -l查看所有的信号

             kill -9 num发送9号信号给进程号num号进程

    c)         top 实时查看系统中进程的运行状态

    1. 创建pyenv虚拟环境

    yum install openssl*   安装其所需要的库文件

               (普通用户 sudo yum install openssl*)

    git clone https://github.com/yyuu/pyenv.git ~/.pyenv             下载pyenv

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile         

    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    exec $SHELL               重启终端运行的程序(shell)

    source ~/.bash_profile      重新加载配置文件.bash_profile

    pyenv  install --list  列出所有我们可以通过pyenv安装的python版本

    pyenv install -v 3.6.4          用pyenv命令安装python3.6.4

    pyenv versions  查看当前系统中所有的python版本

    pyenv version    查看当前所使用的版本

    pyenv global 3.6.4     将使用版本切换到3.6.4

    pyenv version

    python

    成功后 重启计算机

    1. 使用GitHub进行项目管理

    a)         创建仓库

    登陆github帐号,创建远程仓库

    同步到本地

    生成key:

             ssh-keygen

             cat ~/.ssh/id_rsa.pub 将密钥复制到帐号的key

    git clone url

    b)         基本使用命令

    git add .---->追踪

    git commit -m "备注" ---->提交到仓库

    git push ---->提交到远程仓库

    git pull ---->下载到本地仓库

    git status ---->查看仓库状态

    git log ----->查看仓库日志(id)

    git reset --hard id ----->切换到指定版本

    git reflog ----->查看最新版本日志

             git rm ----->删除

    (常用git命令清单参考:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

            

    1. 新建代码库                
    2. 配置
    3. iii.    增加、删除文件
    4. 代码提交
    5. 分支
    6. 标签
    7. 查看信息
    8. 远程同步
    9. 撤销
    10. 其他
  • 相关阅读:
    杭电2031进制转换
    杭电2033人见人爱A+B
    【转】到底怎么样才叫看书?
    方便单个实体更新的DbContext扩展方法,比如Edit页面
    使用Newtonsoft.Json
    代码配置 vs. 配置文件
    进程到创建
    C#+VBA 操作EXCEL(转)
    基于定位的社交应用Foursquare开源网址(wp7)
    深入理解计算机系统实验
  • 原文地址:https://www.cnblogs.com/TyroneYang/p/10058240.html
Copyright © 2011-2022 走看看