zoukankan      html  css  js  c++  java
  • Linux之基础bash shell命令

    linux系统构成

    linuxpng

    linux内核主要负责

    系统内存管理

    软件程序管理

    硬件设备管理

    文件系统管理

    GNU工具

    执行一些标准功能,比如控制文件和程序。又分为核心工具和shell.

    大部分Linux发行版的默认shell都是GNU bash shell.

    浏览文件目录

    常见的linux目录名称:

    虚拟的根目录:/  二进制目录:/bin root用户的主目录: /root …等等

    遍历目录:cd destination 后面的参数可以使用绝对文件路径,也可以使用相对文件路径

    绝对路径输入

    输入: ~$ cd /usr/bin

    结果:/usr/bin$:

    ~符号用来追踪当前所在的虚拟目录结构中的位置,表示shell会话位于你的主目录中。

    pwd命令 可以显示出shell会话的当前目录,这个目录被称为当前工作目录。

    纯cd命令可以从任何一级跳回主目录

    相对路径输入

    假如你位于home目录,希望切换到子目录document,可以直接使用

      1: cd doc

    ~/doc$

    两个特殊字符

    单点符(.),表示当前目录

    双点符(..),表示当前的父目录

    比如你现在处于主目录下的doc目录,想要切换到主目录的dow下,可以这样做:

      1: cd ../dow

    也可以在其他切换中加多个双点符比如

      1: cd ../../etc

    文件和目录列表

    ls命令显示当前目录下的文件和目录,可以用-F参数命令轻松区分文件和目录,-a显示隐藏文件(前面带点的),-R列出当前目录下包含的子目录中的文件。这些参数可以叠加,比如 ls -alF

    -l参数产生长列表格式的输出。按照顺序显示:文件类型,权限,硬链接总数,属主的用户名,组的组名,大小(单位字节),上次的修改时间,文件名和目录

    过滤输出列表

    只会显示该文件的信息,文件名放在所有参数后面。

      1: $ls –l my_script

    ?代表一个任意的字符,*代表0个或多个

      1: $ls –l my_scr?pt
    
      2: $ls –l my*
    
      3: $ls –l my_s*t

    [ai]代表a或者i,[a-i]字母范围a-i,[!a]排除a

    创建文件

      1: touch filename
    
      2: touch dir/filename

    touch命令创建一个空文件,并将你的用户名作为文件的属主。这个命令还可以改变文件的修改时间,并不会改变文件的内容。只想改变访问时间,可用-a参数。

    查看文件的访问时间,加入--time=atime

    复制文件

    源对象和目标对象

      1: cp source destination

    当两者都是文件名时,源文件复制成一个全新的文件(destination为名),有新的修改时间。加上-

    i强制询问是否需要覆盖已有的文件。

    也可以将文件复制到现有的目录中。

      1: cp –i test_one /home/christine/Document/

    注意Document后面有一个正斜线,代表这是一个目录而不是一个文件,否则会创建一个document的文件。这个路径也可以使用相对路径。下面这个点代表当前的工作路径。

      1: cp –i /etc/Network/conf.conf .

    -R 参数可以递归地复制整个目录的内容。

      1: cp –R Scripts/ Mod_Scripts

    使用通配符

      1: cp *script Mod_Scripts/

    可以用man cp来来查看所有的参数。

    制表键(tab)自动补全目录名文件名命令名,如

      1: ls really*

    如果匹配成功不会显示任何信息,

    输入cp really直接按tab就会自动补全。

    链接文件

    符号链接:一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。ln命令以及-s选项来创建符号链接。

      1: ln –s data_file s1_data_file

    ls –i *data_file查看inode的编号可以发现它们是不同的文件。

    硬链接:会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件等于同于引用了源文件。

      1: ln data_file s2_data_file
    
      2: ls li *data_file

    两个文件共享inode编号。

    说明:想要在不同存储媒体的文件之间创建链接,只能用符号链接。不要创建软链接的软链接。

    重命名文件

    在linux中,重命名文件称为移动(moving)。mv命令可以将文件和目录移动到另一个位置或者重命名。

      1: mv  oldfile newfile

    inode编号和时间戳不变,只影响文件名。mv也可以移动文件的位置。

      1: mv file_name dir

    这两步可以合为一步

      1: mv olddir/file newdir/file

    也可以移动整个目录

      1: mv old_scripts new_scripts

    删除文件

    一般加上-i来强制询问是否真的删除。也可以使用通配符来删除成组的文件。

      1: rm –i f?ll

    处理目录

      1: mkdir New_dir

    创建多个目录和子目录,需要加入-p参数

      1: mkdir –p New_Dir/Sub_Dir/Under_Dir

    删除目录

    默认情况下,rmdir命令只删除空目录.所以首先要删除目录里的文件。

      1: rm -i New_dir/my_file
    
      2: rmdir New_dir

    或者使用-ri命令进入目录,先删除文件,再删除目录

      1: rm -ri My_Dir

    不建议使用-rf直接删除,这样不会有任何的提示和反应。

      1: rm -rf New_dir

    查看文件

    查看文件类型

    file命令,探测功能,后面跟文件,目录,符号链接,脚本,二进制文件

      1: file New_dir/my_file
      1: file New_dir
    
      2: file si_date_file
    
      3: file my_script
    
      4: file /bin/ls

    查看内容

    查看整个文件

    cat命令,-n给所有行加上行号,-b只给有文本的行叫上行号,-T用^I代替制表符

    more命令,可以手动每页每页地显示。

    less命令,more的升级版

    查看部分文件

    tail命令 默认下显示文件的末尾10行。-n参数修改所显示的行数。-f可以查看其它进程使用中的文件

      1: tail -n 2 log_file

    head命令 显示开头文件的内容,同样它也支持-n,但不支持-f参数。

  • 相关阅读:
    垂直搜索引擎蜘蛛
    利用Lucene.net搜索引擎进行多条件搜索的做法
    收缩数据库日志文件
    页头加上<!DOCTYPE html PUBLIC "//W3C//>后 js不符合w3c标准 对联不滚动
    winfrom中使用cache
    Vista与XP局域网文件共享设置方法
    如何快速高效的群发Email
    StringTemplate学习笔记(转载)
    清除sql 日志文件
    利用 Sandcastle 编写软件 SDK 文档
  • 原文地址:https://www.cnblogs.com/haoqirui/p/10289994.html
Copyright © 2011-2022 走看看