Linux的一些基础知识

    xiaoxiao2021-03-26  20

    操作系统的基本概念:windows Linux  andriod  ios symbian unix/linux(其实C语言就是为了写Linux而产生的) 

    win:傻瓜式,好学习,工资低

    Linux:操作麻烦,学习难,免费,开源,性能好,可移植性好

    Andriod:移到操作系统,基于Linux

    ios:很优秀,创造性,走钢丝

    嵌入式操作系统:Linux+winCE

    当前:消费电子Andriod,工业Linux

    多机开发:双系统与虚拟机

    开发嵌入式系统需要Linux系统,但是win下有很多好用的软件,比如notepad  sourceInsight

    所以也需要win,在即需要win又需要Linux的时候可以

    1)使用双系统 不方便,使用不需要频繁切换操作系统的情况

    2)使用虚拟机 方便,损失性能

    3)两台电脑  不方便

    现实中:1 个人开发者  虚拟机

           2 公司  服务器+客户端

    搭建开发环境:

    虚拟机软件+Linux系统

    虚拟机软件:就是一个单纯的在win中运行的软件,现在主要就是vmware和vitualBox,

    它运行后模拟出来一个电脑,可以在其中安装任何系统

    虚拟机上网:

    网络连接3种模式

    1)桥接模式(bridge)

      菜单->设置->网络->桥接模式

      菜单->编辑->虚拟网络编辑器->桥接到(wireless无线网卡 realleak..有线网卡)要根据实体机来选择

      设置dhcp并重启网卡(同下vi编辑的内容,要保证inet是dhcp)  /etc/init.d/networking  restart

    2)NAT模式:菜单->设置->网络->NAT模式

       vi /etc/network/interface

    auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp address 192.168.1.141 netmask 255.255.255.0 gateway 192.168.1.1

       然后重启网卡 /etc/init.d/networking  restart

       可以通过ping命令测试网络是否通了

    3)host only独立主机,不能实现虚拟机上网,仅主机可以上网

    nat连接比较简单,但是虚拟机和主机不在同一网段,虚拟机相当于真机的一个软件,不能做嵌入式开发

    bridge连接稍复杂,但是虚拟机和本机在统一网段,相当于是这个网络里的另一台主机,可以做嵌入式开发

    隐藏与非隐藏文件:

    win下的文件隐藏与不隐藏是通过设置文件属性来实现的,右键->属性->设置隐藏属性

    在win中显示隐藏属性的文件或者文件夹:工具->文件夹选项->查看->显示所有

    Linux下,以.开头的文件是隐藏文件,跟文件属性无关

    要查看隐藏文件,使用ls -a

    Linux中一些符号的含义:

    . 代表当前目录

    .. 代表上级目录

    - 代表前一个目录,你进入当前目录的目录

    / 代表根目录

    ~ 代表用户的家目录,普通用户的在/home/uname下 root用户的在 /root下

    $ 普通用户的命令提示符

    # root用户的命令提示符

    * 万能通配符

    文件类型的标记:(ls -l 显示的详细信息解析:)

    -rw-r--r--   2 nj  staff    10B  2  4 19:20 a.txt

    第一个字段共10个字符  第一个表示文件类型,后边9个表示文件权限

    文件类型 -表示普通文件,包括二进制文件和文本文件

            d表示目录文件

            l表示符号链接文件  ln -s创建的文件 ln创建的硬连接文件是-普通文件

            s表示一个socket文件

            p表示管道文件

           

    1 相对路径和绝对路径

    路径:用来标识资源在文件系统中的存储位置

    全路径:/user/uname/www/test.php  (pathname)

    路径:/user/uname/www  (path)

    文件名:test.php  (filename)

    绝对路径:从绝对路径开始的,/user/uname/www/test.php

    相对路径:从当前位置开始的路径,比如当前在 /user/uname/www/test2.php 那test.php 就是在./test.php

    win下的绝对路径是从盘符开始的,Linux下的绝对路径是从根 / 开始的

    2 常用命令:

    ls(list,显示文件列表)

    ls -a 显示所有文件,包括隐藏文件

    ls -l 显示文件详细信息

    ls -lah 显示所有文件,及详细信息,用比较合适的单位

    cd (change directory):切换所在目录

    . 代表当前目录  ..代表上级目录

    pwd:打印当前所在路径

    mkdir:创建一个空的文件夹

    mkdir -p:创建多级文件夹

    mv:移到文件,可以同时重命名

    mv srcpathname dstpathname

    cp复制文件

    cp srcpathname dstpathname

    cp -r 复制文件夹

    cp -f 强制复制

    ln (link):建立一个软连接

    win下的快捷方式,两个都占有硬盘空间,是两个独立空间

    Linux中有2种连接方式,一种叫软连接(符号连接),效果等同于win下的快捷方式,但不是一回事儿

    建立软连接:ln -s src dst 建立出来的文件属性是l  ,比如 ln -s a.txt b.txt

    lrwxr-xr-x   1 nj  staff    13B  2  4 19:13 a.txt -> b.txt

    一种叫硬链接,硬链接的源文件被删除,不会影响目标文件,但不同于copy,copy是两个独立的文件

    硬链接是同一个文件,修改就会改变所有的基于同一个文件的连接

    创建 ln a.txt b.txt

    文件权限:

    剩下的9个可以分成3组

    前3个表示文件的所有者对文件的权限

    中间3个表示所有者所在组的文件权限

    最后3个表示其它用户对于该文件的权限

    r(read)可读

    w(write)可写

    x(execute)可执行

    eg:rwx表示可读可写可执行  r-x表示可读可执行不可写

    rm(remove去除,删除):用来删除文件或者文件夹

    rm 文件 :删除文件

    rm -r 文件夹 :删除文件夹

    rm -rf 文件/文件夹 :强制删除文件或文件夹(与不加-f的返回值不同,加上-f文件不存在会返回成功,不加会返回失败)

    cat:直接在命令行显示文件内容,也可以向文件输入内容

    cat a.txt > b.txt  直接覆盖

    cat a.txt >> b.txt 追加

    rmdir:删除一个空的文件夹

    man 1 ls : man 1 表示查看命令的使用

    man 2 .. : man 2 表示查看Linux的api

    man 3 .. : man 3 表示查询的是C的函数

    不记得1 2 3表示什么时,直接man ...也可以

    find:查找文件所在地方

    1)什么时候用?知道要查找的文件名,不记得文件路径时

    2)怎么使用?find /etc -name test

    3)完全不知道在哪个目录时,把目录指定为根  find / -name test

    grep 查找文件内容

    grep char -nr dir 在dir中递归查找char字符,并显示出该字符出现的行号

    which和whereis

    which查找应用程序,只显示二进制文件

    whereis显示二进制文件的路径 源码或man手册的位置

     

    sudo:暂时获得root用户的权限,不用进行用户的切换

    文件的打包与压缩:

    tar -cxvf dir.tar.gz dir/  将dir目录打包成dir.tar.gz

    tar -cjvf dir.tar.bz2 dir/ 将目录打包成dir.tar.bz2

    tar -zxvf dir.tar.gz 将压缩包解压

    tar -jxvf dir.tar.bz2 将压缩包解压

    格式化文件系统

    mkfs /dev/hd1

    mkfs -t vfat -F /dev/hd1 创建一个FAT32文件系统

    网络配置命令

    ifconfig eth0 192.168.1.13  设置ip地址

    ifconfig eth0 up  启用网卡

    ifconfig eth0 down  禁用网卡

    ifup eth0  启用网卡

    ifdown eth0  禁用网卡

    ifconfig eth0 192.168.1.1 netmask 255.255.255.0 同时设置ip和子网掩码

    mount/umount实现文件的挂载

    eg:mount -t nfs -o nolock 192.168.15.130:/home/nj/www /mnt

    将服务器目录/home/nj/www挂载到本地 /mnt

    umount /mnt 卸载挂载目录

    df:显示磁盘空间信息 df -h

    du:显示文件及其大小  

    搭建tftp和nfs服务器,用到的时候再具体查,用的不多

    sed | awk

    实现正则匹配+替换

    vi和vim的关系:

    编辑器?就以一个用来编辑文件的软件,win下自带的是notepad,常用的有notepad++,sublime...

    Linux下自带的是vi,常用的vim,gedit等

    vim就是vi的升级版,推荐使用vim

    3 vi的两种工作模式:

    1)命令行模式:输入相应的命令去做对应的事 :wq退出 :q!不保存退出 :w保存不退出 :q退出

    2)输入模式:就是正常的编辑文件,输入模式按esc键回到命令模式,命令模式按v切换到视图模式

    3)视图模式:方便多行操作

    4 vi的高级使用

    查找: /var  (command模式)

    快速切换行: :line (command模式)

    设置显示行: :set nu (command模式)

    不显示行: :set nonu (command模式)

    行删除: dd (command模式)

    行复制和粘贴: yy p(多行复制和粘贴 visual模式)

    4 Linux的系统版本:

    Linux本身指的是操作系统的核心部分,也就是Linux内核

    ubutun  centos等Linux的发行版指的Linux内核+特定的软件

    5 GUI(图形用户界面)和cmdline(命令行)

    GUI:graphics user interface 图形用户界面

    cmdline:command line命令行

    人机交互:人和计算机进行交互

    win和Linux都会同时有GUI和命令行,但win下常用GUI,Linux下常用命令行

    用户管理

    useradd test 添加用户test

    userdel test 删除用户test

    passwd test 修改passwd的秘密

    可以使用su 用户名 切换不同用户

    uname查找系统信息

    uname -a显示所有信息

    chmod 修改文件权限

    chown 修改文件所有者

    chgrp 修改文件所属组

    eg:在原来权限的基础上修改,即增加或减少某权限

    chmod u+x 文件名 给属主用户增加可执行权限

    chmod u-x 文件名 减掉可执行权限

    apt-get Ubuntu中在线安装或者卸载软件的工具

    apt-get install 软件名 安装软件

    linux 发行版本比较多,软件在个版本中兼容性不是特别好

    使用apt-get解决了不兼容问题,它是实时连接到ubutun服务器去下载软件

    开关机

    shutdown -h now 立即关机

    init 0 关机

    shutdown -r now 立即重启

    reboot 重启

    转载请注明原文地址: https://ju.6miu.com/read-659978.html

    最新回复(0)