zoukankan      html  css  js  c++  java
  • Linux基本操作命令

    本文首发于:行者AI

    Linux 在设计之初,就是基于 Intel x86 系列CPU架构计算机的,它是一个基于POSIX的多用户、多任务并且支持多线程和多 CPU 的操作系统,它是由世界各地成千上万的程序员设计和开发实现的,当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类 Unix 操作系统兼容产品。

    1. Linux 的那些往事

    Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10000 行代码。

    李纳斯•托瓦兹没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。

    据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•托瓦兹和后来陆续加入的众多 Linux 好者共同开发完成的。

    李纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。

    关于 Linux Logo 的由来是一个很有意思的话题,它是一只企鹅。

    为什么选择企鹅,而不是选择狮子、老虎或者小白兔?有人说因为李纳斯•托瓦兹是芬兰人,所以选择企鹅,有人说因为其他动物图案都被用光了,李纳斯•托瓦兹只好选择企鹅。

    我更愿意相信以下说法,企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,任何公司无权将其私有。

    2. 常用的Linux命令

    下面将会向大家分享一些会经常用到的Shell命令

    (1)cd -更改文件目录命令

    # 切换到主目录
    cd
    # 切换到主目录
    cd ~
    # 切换到目录/tmp
    cd /tmp
    # 切换到当前目录的dir目录
    cd dir
    # 切换到根目录
    cd /
    # 切换到上一级目录
    cd ..
    # 切换到二级目录
    cd ../..
    # 切换到主目录,例如是root用户,则切换到/root下
     cd ~
    

    (2) ls -展示当前目录下文件命令

    # 显示当前目录文件
    ls
    # 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件
    ls -la
    # 列出当前目录下以字母a开头的所有文件
    ls a*
    # 给出当前目录下以.doc结尾的所有文件
    ls -l *.doc
    

    (3)pwd -查看当前所在路径

    # 查看自己当前所在路径
    pwd
    

    (4)cp -文件复制命令

    使用 cp 命令需要指定文件夹或进入需要操作的文件夹下进行操作

    # 把文件a复制为新文件a.apk
    cp a a.apk
    # 把文件afile从当前目录复制到/home/bible/目录下
    cp afile /home/bible/
    # 把当前目录下的所有未隐藏文件复制到/tmp/目录下
    cp * /tmp 
    # 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a选项包含-R选项
    cp -a docs docs.bak
    # 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
    cp -r 
    

    (5)find -查找文件命令

    # 在当前目录中查找rpm包
    find .-name *.rpm
    # 在当前目录及其子目录中查找文件名包含page的文件
    find .|grep page
    # 在系统的任何地方查找文件名包含traceroute的文件
    locate traceroute
    

    (6)grep -搜索文件内容命令

    # 在文件exports中查找包含bible的所有行
    grep bible /etc/exports
    # 在WEB服务器日志文件access.log的后100行中查找包含“404”的行
    tail -100 /var/log/apache/access.log|grep 404
    # 在WEB服务器日志文件access.log的后100行中,查找没有被google访问的行
    tail -100 /var/log/apache/access.log|grep -v googlebot
    # 在主apache配置文件中,查找所有非注释行
    grep -v ^# /etc/apache2/httpd.conf
    

    (7)mkdir -新建目录命令

    # 在当前目录中建立名为photos的目录
    mkdir photos
    # 在当前目录下建立指定的嵌套子目录
    mkdir -p this/that/theother
    

    (8)touch -创建一个空的文件

    # 创建一个空文件,文件名为aaa.txt
    touch aaa.txt
    

    (9)rm -删除文件命令

    # 删除文件a
    rm a
    # 删除当前目录下的所有文件(未隐藏文件)。rm命令不删除目录,除非也指定了-r(递归)参数。
    rm *
    # 删除domed目录以及它所包含的所有内容
    rm -rf domed
    # 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认
    rm -i a*
    

    (10)vi -编辑文件

    # 用vi编辑文件/etc/bubby.txt 
    vi /etc/bubby.txt
    # 用vim编辑文件/etc/bubby.txt 
    vim /etc/bubby.txt
    # 快捷操作: 
    	切换窗口:alt+1,alt+2 
    	全屏: 	alt+回车 
    # 将vim挂起(暂停):ctrl+z,暂停后可进行其他shell操作,完了之后可通过 fg 命令切换回vim界面继续编辑 
    	:MR 查看历史文件记录(注意:MR大写) 
    	:sp 横向切换界面窗口 
    	:vsp 纵向切换界面窗口 方便多文件对照编码 emacs /etc/bubby.txt 用emacs编辑文件/etc/bubby.txt 
    

    (11)date- 系统日期设定

    # 设置系统时期为2006年5月20日6点整。
    date -s “060520 06:00:00″
    

    (12)reboot,shutdown -关闭和重启计算机

    # 重新启动计算机
    reboot
    # 重新启动计算机,停止服务后重新启动计算机
    shutdown -r now
    # 关闭计算机,停止服务后再关闭系统
    shutdown -h now
    # 关闭计算机
    halt
    # 一般用shutdown -r now,在重启系统时,关闭相关服务,shutdown -h now也是如此。
    

    (13)df - 显示磁盘空间使用情况

    # 显示指定文件所在分区的磁盘使用情况
    df /etc/dhcp
    # 显示文件类型为ext4的磁盘使用情况
    df -t ext4
    

    (14)gzip -压缩和解压文件

    # 把当前目录下的每个文件压缩成.gz文件
    gzip *
    # 把上例中每个压缩的文件解压,并列出详细的信息
    gzip -dv *
    # 递归地解压目录
    gzip -dr rancher.gz
    

    (15)zip -压缩文件

    # 将/home/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip
    zip -q -r html.zip /home/html
    # 压缩文件cp.zip中删除文件a.c
    zip -dv cp.zip a.c
    # 把/home目录下面的mydata目录压缩为mydata.zip
    zip -r mydata.zip mydata
    # 把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
    zip -r abc123.zip abc 123.txt
    # 将logs目录打包成log.zip
    zip -r log.zip ./logs
    

    3. 结语

    在过去的几十年里,Linux系统主要被应用于服务器端、嵌入式开发和PC桌面3大领域,其中服务器端领域是重中之重。例如,我们熟知的大型、超大型互联网企业(百度、腾讯、Sina、阿里等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前1000的 90%以上的网站使用的主流系统都是Linux系统。而我们在测试工作中也或多或少的会接触到一些Linux命令,熟练的使用Linux命令可以让我们在使用windows系统的dos命令时更加熟练。


    PS:更多技术干货,快关注【公众号 | xingzhe_ai】,与行者一起讨论吧!

  • 相关阅读:
    TCP的三次握手与四次挥手理解及面试题(很全面)
    python解释器锁的理解
    Flask的基本使用、四剑客和配置文件
    Django cache缓存
    xadmin后台管理
    cookies与session
    Java stream流
    Java IO流
    springboot配置文件加载顺序与一些常用配置
    OAuth2.0开放授权
  • 原文地址:https://www.cnblogs.com/xingzheai/p/14217048.html
Copyright © 2011-2022 走看看