zoukankan      html  css  js  c++  java
  • Linux系统学习(二)一Linux基本操作

    一、Linux的目录结构

    1.1 Linux的目录结构图

    1.2 目录内容

    /:这就是根目录。对你的电脑来说,有且只有一个根目录。所有的东西,我是说所有的东西都是从这里开始。举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。

    bin:存放二进制可执行文件(ls,cat,mkdir等)。也就是说linux中我们经常用到的命令都是这里,所以这些命令都是linux上的可执行文件,类似windows上的exe。这里存放了标准的(或者说是缺省的)linux的工具,比如像“ls”、“vi”还有“more”等等。通常来说,这个目录已经包含在你的“path”系统变量里面了。什么意思呢?就是:当你在终端里输入ls,系统就会去/bin目录下面查找是不是有ls这个程序。

    boot:存放用于系统引导时使用的各种文件。

    dev:存放设备文件。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

    etc: 存放系统配置文件。举个例子:你安装了samba这个套件,当你想要修改samba配置文件的时候,你会发现它们(配置文件)就在/etc/samba目录下。

    home: 存放所有用户文件的根目录。 这里主要存放你的个人数据。具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:/home/用户名。当然,root用户除外。

    lib: 存放跟文件系统中的程序运行所需要的共享库及内核模块。

    opt:额外安装的可选应用程序包所放置的位置。这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。

    举个例子:如果装firefox可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可,非常简单

    root: 超级用户目录。这是系统管理员(root user)的目录。对于系统来说,系统管理员就好比是上帝,它能对系统做任何事情,甚至包括删除你的文件。因此,请小心使用root帐号。

    usr:在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如像游戏阿,一些打印工具拉等等。/usr目录包含了许多子目录:/usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接运行的,但却是许多程序运行所必需的一些函数库文件。你的软件包管理器(应该是“新立得”吧)会自动帮你管理好/usr目录的。

    proc:   虚拟文件系统,存放当前内存的映射

    sbin:存放二进制可执行文件,只有root才能访问

    tmp:用于存放各种临时文件

    先简单说这么多吧。

     二、Linux系统环境

    2.1 交互通道

    Linux系统默认有6个命令交互通道和一个图形界面交互通道,默认进入到的是图形界面通道,命令交互模式切换:Ctrl+Alt+F1---F6,图形交互通道 Ctrl+Alt+F1。

    图形交互模式有一个terminal(终端)的程序,类似windows下的cmd,它是图形界面交互通道的延伸,并不属于命令交互通道,它要依赖于图形界面。

    图形交互通道如下:

    可以点着把它拖拽出来方便我们使用

    命令交互通道如下:

    输入账号songlin和密码123后就登录进来了,可以在1-6的通道之间来回登录切换,并且账户是同时存在的。

    2.2 命令交互模式

    命令提示符:songlin@ubuntu:~$ 

    - songlin:用户名
    - ubuntu :主机名
    - ~ :路径 ,假如当前的路径正好是 该用户存放数据的根目录 ,则显示~  即当前路径是/home/songlin 如下图,pwd显示当前绝对路径,可以看出来。

    - $ :用户的类型 $代表普通用户 # 代表 超级用户

    3.3 设置root账户

    默认root账户是没有设置密码的, 可以用sudo passwd 来设置密码。

    三、文件权限

    3.1 权限说明

     w :可写   r: 只读  x:可执行  - :无权限

    3.2 字母表示方式

    drwxr-xr-x

    第一个字符:文件的类型 d:文件夹 ;- :普通文件;c:串口文件;l:连接文件

    2-4个字符:该文件的属主用户的权限;

    5-7个字符:与属主用户同一组的其他用户的权限;

    8-10个字符:不同组的其他用户的权限;

    3.3 数字表示方式

    -rw-r--r--:文件的权限为 644

    drwxr-xr-x:目录的权限为 755

    四、Linux常用基本命令

    4.1 开关机命令

    logout:注销 

    exit:登出

    shutdown -h 时间 :关机

     -h:表示关机

     时间参数:

      1. now (立马关机)

      2.12.30 (某个时间关机)

      3. 10 (10分钟后关机)

    shutdown -r:重启

      -r : restart 表示重启

    sudo: superuserdo,以超级用户的身份来做。

    比如上边的关命令,比较重要,需要以超级用户的身份来做:sudo shutdown -h now 就可以立马关机了。

    但是也不是所有命令用sudo就可以解决了,比方说一个普通用户,你直接用shutdown -h now 来关机关不了,就加了一个sudo,那肯定也是不行的,得让超级用户授予你这个用户有执行某个命令的权限才行。

    这些配置在 /etc/sudoers 中,有些命令需要配置后授权给哪些用户才可以做的。

    4.2 文件操作命令

    man:manual,手工,帮助手册的,好比windows中的help,例如:man ls,查看ls的帮助文档

    ls:查看目录内容

    -l :查看详细信息

    -a:查看所有文件(包括隐藏的)

    mkdir:创建目录

    cd:切换目录

    -cd .. 加空格 两个点,表示返回上一级目录

    -cd ./xxx 进入当前目录下的xxx目录

    -cd ../xxx  进入上级目录下的xxx目录,以此类推

    touch:创建一个空白的文件,例如:touch aa.txt  创建一个名称为aa.txt的文件

    echo:把内容输入到指定的文件中(控制台,打印机等容器中去),如果存在文件就打开,没有就创建,例如:echo “test”>aa.txt

      >:覆盖模式

      >>:追加模式

    cat、more:查看文件内容

      -cat:查看文件内容,全部显示

      -more:分页查看文件内容,部分显示,按pagedown键可以翻页查看

    cp、mv、rm

      -cp:复制

      -mv:剪切,重命名,移动

      剪切:mv aa.txt  ./test/bb.txt

      重命名:当前的文件目录一样就是重命名,例如:mv aa.txt bb.txt

          -rm:删除文件或文件夹

            -f:假如要删除的文件不存在,也不提示

            -i:删除前进行提示,输入确认之后才删除

            -d:删除空白目录

            -r:递归删除

    wc:统计文件的字符串(行数,单词数,字符数)例如:wc aa.txt

    pwd:打印当前目录的绝对路径

    |:管道命令,上一个命令的输出结果作为下一个命令的输入,例如:ls -l | wc ,统计ls列出的文件你的字符数

    passwd:设置密码,ubuntu中默认root是没有的密码的,要设置面,例如:sudo passwd root

    su:switch user,可以切换到其他用它用户,例如:su root,切换到root用户,会提示你输入密码,但是从root用户切换到其他用户不需要输入密码,因为root是最高权限。

    4.3 系统命令

    stat:查看文件的详细信息,例如:stat aa.txt

    who与whoami

      who:查看在线的用户

      whoami:查看当前自己的用户

    hostname:显示主机名

    uname:显示系统信息

      -a:显示完整的系统信息

    top:显示当前所有进程的信息,每3秒更新一次

    ps:显示当前所有进程的快照

    du:显示文件的大小信息

    df:磁盘的使用情况

    ifconfig:网卡配置信息,类似windows的ipconfig

    ping:检测与目标主机是否连通情况

    kill:杀掉进程,例如:kill 9854,杀掉进程id为9854的进程。

    netstat:网络连接的详细信息

    useradd:创建用户,例如:useadd lijun -d /home/lijun  -s /bin/bash

      -d:指定用户的home路径

      -s:指定改用的shell的解析方式

    sudo cat /etc/passwd:查看用户信息

    itcast:x:1000:1000:UbuntuA,,,:/home/itcast:/bin/bash
       - itcast:用户名
       - x :密码 :已经加密 ,密码存放在 /etc/shadow
       - 1000: 账号id ,userId
       - 1000: 组id ,group id
       - UbuntuA,,, :账号描述
       - /home/itcast :该账号存放文件的默认位置 ~
       - /bin/bash:该用户的shell脚本的解析方式 ,sh 、bash、rbash

    4.4 打包、压缩,解压文件

    windows下的压缩文件:zip、rar

    linux下的压缩文件:gz、bzip、zip(不常用)、

    tar:打包、拆包命令,例如:tar -cxzjvf  <打包后的文件>  <欲打包的目录>

      - c :创建的一个归档文件 ,即打包文件夹
      - x :拆包
      - z :以gzip 格式压缩,默认压缩倍数 6倍 (0-9)
      - j :以bzip2格式压缩
      - v :显示打包或者拆包的文件信息
      - f : 后面紧接一个 归档文件

      打包文件: tar -cvf  news.tar  ./test   把test目录下的所有文件打包成news.tar  

    gzip 、bzip2 压缩与解压
      压缩文件:gzip news.tar
      解压文件:gzip -d news.tar.gz
        -d :解压
      打包及压缩
        打包及压缩:tar -czvf news.tar.gz ./test
          拆包及压解缩:tar -xzvf news.tar.gz

    4.5 软件管理

    windows:.exe

    android:.apk

    redhat:.rpm

    ubuntu:.deb

    1.安装软件

    -dpkg:debian package 离线安装

    安装:sudo -dpkg -i  <文件名>  例如:sudo dpkg -i ./test.deb

    卸载:sudo dpkg -r <包名> 例如:sudo dpkg -r test

    ps:在linux中 用包名来表示一个文件的包名,安装后就会有一个包名,卸载或者查询的时候使用

    -apt-get:advance package tools, 对dpkg命令的升级,在线安装

    安装:sudo apt-get -install <包名>

    卸载:sudo apt-get -remove <包名>

    2. vim编辑器

    vim是一个款linux上的编辑器,好比记事本,但是比记事本要强大

    操作模式:

    一般模式:默认进入的是一般模式,该模式不能编辑文档,只能查看,按i(insert)进入插入模式

    编辑模式:该模式可以编辑文档,按esc退出插入模式,进入到一般模式

    命令模式:在一般模式中,按:(冒号)进入命令模式

      -q:安全退出,当没有操作该文档时,则直接q退出vim

      -q!:当修改了内容,但是不想保存,则q!强制退出

      -wq:保存退出

      -set number 显示行号

      -set nonumber 取消行号显示

     五、总结

    这篇文章简单介绍了linux上的基本操作,由于linux没有图形,所以熟悉这些命令是必须的,作为入门,这篇足够了,要掌握这些命令,还是需要自己动手多敲命令,不断的重复才是最好的办法。

  • 相关阅读:
    如何安装ArchLinux
    状态模式
    iOS设备的越狱方法
    浅析Windows安全相关的一些概念
    项目做成jar包
    JavaScript包装对象
    node.js系列笔记之node.js初识《一》
    使用Reactive Extensions(Rx),对短时间内多次发生的事件限流
    in和exists哪个效率高本人测试证明
    Asp.net MVC使用Filter解除Session, Cookie等依赖
  • 原文地址:https://www.cnblogs.com/flaming/p/8111150.html
Copyright © 2011-2022 走看看