码迷,mamicode.com
首页 > 系统相关 > 详细

初识Linux(一)

时间:2018-01-13 19:01:00      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:bsp   src   锁定   x86_64   排序   ps1   存储   命名   asi   

一、命令提示符格式

     1.默认格式

      [root@centos6 ~]#

      [用户名@主机名前缀 目录路径后缀]#|$  (root是为#,普通用户时为$)

     2.查询当前的提示符格式

      [root@centos6 ~]# echo $PS1

      [\u@\h \W]\$


    可以通过设置PS1变量\[\e[F;Bm\]使提示符成为彩色。其中F为字体颜色,B为背景色,B值可省略,当省略时默认只设置字体颜色。可通过“\[\e[0m\]”关闭提示符颜色。

      [root@centos6 ~]# PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\] "

      [root@centos6 ~]# PS1="\[\e[32m\][\u@\h \W]\\$\[\e[0m\] "

      [root@centos6 ~]#

    

二、文件系统与目录结构

    1.文件与目录

      文件系统:它是磁盘上有特定格式的一片区域,操作系统通过文件系统可以方便地查询和访问其中所包含的磁盘块。

      文件:是指文件系统中存储数据的一个命名对象。一个文件可以是空文件,即没有包含用户数据。

      目录:其中包含许多文件项目的一类特殊文件。目录支持文件系统的层次结构。文件系统中的每个文件都登记在一个或者多个目录中。

      子目录:被包含在一个目录中的目录。包含子目录的目录称为父目录。除了root目录以外,所有的目录都是子目录,并且有它们的父目录。root目录就作为   自己的父目录。

    技术分享图片


    2.文件系统

      在Linux中,文件和目录被组织成一个单根倒置的树结构,文件系统从根目录开始,用“/”表示,示例如下所示:

技术分享图片

  

    /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序

    /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录

    /dev:设备文件及特殊文件存储位置

    /etc:配置文件目录

    /home/USERNAME:普通用户家目录

    /root:管理员的家目录

    /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序

    /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

    /lib64:专用于x86_64系统上的辅助共享库文件存放位置

    /media:便携式移动设备挂载点

    /mnt:临时文件系统挂载点

    /opt:第三方应用程序的安装位置

    /srv:系统上运行的服务用到的数据

    /tmp:临时文件存储位置文件系统结构

    /usr: universal shared, read-only data


     2.绝对路径与相对路径    

        绝对路径:在Linux操作系统中,每一个文件有唯一的绝对路径名,它是沿着层次树,从根目录开始,由到达相应文件的所有目录名连接而成,    各目录名之间以斜线(/)字符隔开,可用于任何想指定一个文件名的时候。

     

        相对路径:不以斜线开始,指定相对于当前工作目录或某目录的位置,可以作为一个简短的形式指定一个文件名。

        举例说明:

       (1)首先查找/app目录下的文件结构

          [root@centos6 /]# tree app

            app

            ├── lost+found

            ├── test1

            │     └── 11

            └── test2

                  └── 22

       (2)当处于/app/test2/22目录下时,想到/app/test1/11目录处,有两种方式,分别是使用绝对路径和相对路径:

          绝对路径:[root@centos6 22]# cd /app/test1/11

          相对路径:[root@centos6 22]# cd ../../test1/11


         注意在什么情况下使用绝对路径和相对路径名,应取决于该方式是否涉及更少的目录。


         如果当前工作目录是/app/test2/22,想到/app/lost+found目录处,那么,其绝对路径名为/app/lost+found,而相对路径名为../../lost+found。绝对      路径名涉及的目录有2个,而相对路径名涉及的目录有3个,此时,使用绝对路径名更有效。

         如果当前工作目录是/app,想到/app/test1/11目录去,那么,绝对路径名为/app/test1/11,相对路径名为test1/11。此时,使用相对路径名更有效。


三、常用命令

    1.tty 

     显示当前终端的终端名

      [root@centos6 ~]# tty

       dev/tty4

    2.whoami、id、who am ... 、who、w、whatis

      whoami 显示当前用户名

        [root@centos6 ~]# whoami

         root

      id 显示当前用户信息(包含用户名、uid、组名、gid)

        [root@centos6 ~]# id

          uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

      who am/are/is 任意字符:显示当前的终端信息

        [root@centos6 ~]# who am i

          root   pts/0   2018-01-13 19:00 (172.18.251.128)

      who 显示所有终端的信息

        [root@centos6 ~]# who

         root     tty1         2018-01-13 18:59 (:0)

         root     pts/0        2018-01-13 19:00 (172.18.251.128)

      w 显示所有终端的详细信息及所做的操作

      Whatis 仅能提供命令基本的介绍。不提具体用法。

        [root@centos6 ~]# whatis w

         w    (1)  - Show who is logged on and what they are doing

     3.pwd

      用来显示当前所在目录的绝对路径

        [root@centos6 11]# pwd

         /app/test1/11

     4.echo

       功能:显示字符。

       语法:echo [-neE][字符串]

       说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号。

       选项:

            -E(默认)不支持\解释功能

            -n不自动换行

            -e启用\字符的解释功能,其中包括以下:

                            

技术分享图片



显示变量

echo "$VAR_NAME"  变量会替换,弱引用

echo '$VAR_NAME'  变量不会替换,强引用


举例:

[root@centos6 ~]# echo "$PWD"

/root

[root@centos6 ~]# echo '$PWD'

$PWD


5.date

用来对时间的操作,后可加参数:

+%Y 年

+%m 月

+%d 日

+%H 时

+%M 分

+%S 秒

+%w 星期

+%F 年-月-日

+%T 时:分:秒

举例:显示出当前时间

[root@centos6 ~]# date +%Y年%m月%d日%H时%M分%S秒

2018年01月13日19时57分19秒


 设置时间

 date 月日时分年[.秒]

[root@centos6 ~]# date 011311592018.13

Sat Jan 13 11:59:13 CST 2018


 date -s '年-月-日 时:分:秒'

[root@centos6 ~]# date -s '2018-1-13 12:01:12'

Sat Jan 13 12:01:12 CST 2018

 时区修改

 Centos6: 

 ln -f /usr/share/zoneinfo/America/New_York /etc/localtime

 ln -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 


 Centos7:

 ln -f -s /usr/share/zoneinfo/America/New_York /etc/localtime 

 ln -f -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

 timedatectl set-timezone America/New_York

 timedatectl set-timezone Asia/Shanghai





6.cal

用来显示1-9999年中任意一年或任意一个月的日历。如果使用该命令时不带任何参数,则显示当前月份的日历。如果在cal命令后只有一个参数,则改参数被解释为年份。特别的,如果参数是-3,则显示上月、本月和下月的日历。


技术分享图片


7.clear

clear命令清除屏幕上的信息。清屏后,提示符移到屏幕的左上角

8.man


manual的缩写。这是一个非常重要的命令,是用来查看命令帮助信息的文件。几乎每个命令都有man的“页面”。

技术分享图片


9.history


history显示当前终端的历史记录

!! 重复执行上一条命令

!-n 重复执行倒数第n条命令

!n 重复执行第n条命令

ctrl+p 等于向上方向键,翻出上一条命令。

ctrl+n 等于向下方向键,翻出下一条命令。

ctrl+j 等于enter 执行当前命令



10.type、hashenable

(1)type可用来查询命令的类型,即时内部命令还是外部命令

例如:

[root@centos6 ~]# type echo

echo is a shell builtin

说明echo是一个内部命令

[root@centos6 ~]# type date

date is hashed (/bin/date)

说明:

date是个外部命令,但是存在了hash里面。hash类似一个缓存,存放调用过的外部命令,命令调用的顺序是内部命令>hash中的命令>path中的命令。

(2)hash命令的用法

hash 显示所有被hash的命令路径

hash -l 显示所有被hash的命令路径,包含别名

hash -d 别名 删除指定别名的hash条目

hash -r 清空所有的hash

hash -t 别名 显示别名的hash路径

hash -p 路径 别名 手工增加一条hash

(3)enable命令的用法

enable 显示所有已激活的内部命令

enable command 激活被禁用的内部命令

enable |wc -l 显示激活中的内部命令的数量

enable -a 显示所有的内部命令

enable -a |wc -l 显示所有的内部命令的数量

enable -n 显示所有被禁用的内部命令

enable -n command 禁用某个内部命令


注:可用help命令查看内部命令的帮助信息,如 help echo



11.screen

screen可用来创建会话,首先按照以下步骤安装screen

(1)查看镜像是否挂载

技术分享图片


(2)进入相关目录,进行screen的安装

技术分享图片



创建会话:screen -S 会话名


加入会话:screen -x 会话名 

screen -ls 查看所有已打开的screen



12.tree

tree用来展示目录以及文件结构

安装过程同screen类似,不再赘述。

tree的用法: 

tree [可选] 目录名

-d 只显示目录

-L n 只列出指定层级的目录 

-P 通配符  只列出匹配到的文件和所有目录

举例:列出/app下所有的一级目录


[root@centos6 ~]# tree -L 1 -d /app

技术分享图片



13.alias、unalias

     可使用alias设置命令的别名。用一个短命令代替长命令,当要重复使用这个长命令的时候,就可以有效的提高工作效率。用unalias取消别名。

alias的用法:

          alias 显示所有的别名信息

          alias 别名='command -选项 参数'

例:当在命令提示符后输入la时,显示/app路径下的详细文件信息。

技术分享图片

unalias的用法:

            unalias 别名 取消一个别名

            unalias -a   取消所有别名

保存别名: nano /etc/bashrc

不使用别名的方式:

            \command

            'command'

            "command"

            /path/command

            

14.ls

ls列出指定目录的内容


ls用法: 

ls -a 显示所有文件

ls -A 显示所有文件,除.和..

ls -l 长列出

                drwxr-xr-x. 2 root root 4096 Jan 13  2018 11

文件类型|owner权限group权限other权限|硬链接数|owner|group|文件大小(bytes)|mtime|文件名


ls -R 递归列出目录里的文件

ls -ld 显示指定目录的详细信息。

ls -1 竖显示

ls -S 按文件大小降序排列

ls -t 按修改时间(mtime)从新到旧排列

ls -ut 按访问时间(atime) 从新到旧排列

ls -U 按文件存放的先后顺序

ls -X 按文件后缀排序

ls -i 显示inode号



15.touch



touch命令可以修改指定文件的时间标签或者创建一个空文件。

时间戳

atime 访问时间

mtime 文件数据修改时间

ctime 文件元数据修改时间

touch的用法:touch filename 

                当文件不存在时,则创建一个空文件,名为filename

        当文件已存在时,则更新期时间戳

  -a 仅更新atime,ctime

  -m 仅更新mtime, ctime 

                 没有选项则更新全部时间戳。



16.mkdir、rmdir

mkdir命令用来创建目录,rmdir命令用来删除空目录


mkdir的用法: 

mkdir -p 一次性创建多级目录。即如果新建目录所指定的路径中有些父目录尚不存在,则可自动建立它们。

mkdir -v 创建目录时显示详细信息

mkdir -m 创建目录时直接设置权限

举例:在/app下创建test3目录,且在此目录下创建一个名为33的目录。

技术分享图片

17.cp、mv、rm

(1)cp

将源文件或者目录复制到目标文件或者目录中。

cp命令的选项:

     -a: 该选项通常在复制目录时使用。它递归地将源目录下的所有子目录及其文件都复制到目标目录中,并且保留文件链接和文件属性不变。它等效于-dpR。

     -d:不复制原文件,只复制链接名 。

     -f: --force  当普通用户对某目录有rx权限时,使用-f可以将没有修改权限的文件强制覆盖。即删除再创建。 

     -i:覆盖前提示 

     -p: 除复制源文件的内容以外,还将其修改时间和存取权限也复制到新文件中。

       -r, -R: 递归复制目录及内部的所有内容

     

      -v: --verbose  显示复制的过程

    



(2)mv

mv命令对文件或者目录重新命名,或者将文件从一个目录移到另一个目录中。

举例:把/app/test1/路径下的目录11重新命名为222,并将222移到test2目录下

技术分享图片




(3)rm

rm用来删除文件和目录

rm  -i 交互式删除,即删除前提示

-f 强制删除

-r,-R 递归地删除指定目录及其下属的各级子目录和相应文件。

注:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以在删除文件之前,一定要确定是否真要删除。


四、通配符

通配符用于模式匹配,如文件名匹配、路径名搜索、字符串查找等。常用的通配符有如下几种:

(1)*(星号)---匹配任意字符地0次或者多次出现。

(2)?(问号)---匹配任意一个字符。

(3)[字符组]---匹配该字符组所限定的任何一个字符。

举例:

显示/var/log目录下文件名包含符号及数字的文件或目录 

 技术分享图片


五、常用快捷命令

        

        poweroff关机

        reboot重启

        init 0 关机

        init 6 重启

        shutdown -r 重启

        shutdown -h 关机

        shutdown +1

        shutdown 20:00

        shutdown -c 取消计划关机

Ctrl+L 清屏

Ctrl+O 执行当前命令,并重新显示本命令

Ctrl+s 锁定,但仍可以运行命令。

Ctrl+q 解锁

Ctrl+C 强制结束

Ctrl+D 正常终止

Ctrl+Z 挂起(暂停)命令

Ctrl + a 光标移到命令行首,相当于Home

Ctrl + e 光标移到命令行尾,相当于End 

Ctrl + f 光标向右移动一个字符

Ctrl + b 光标向左移动一个字符 

Alt + f 向右移动一个单词

Alt + b 向左移动一个单词

Ctrl + xx 光标在命令行首和光标之间移动

Ctrl + u 删除光标之前的内容

Ctrl + k 删除光标这后的内容

Alt + r 清除全部内容

Ctrl + w 从光标处向左删除至单词首 

Alt + d 从光标处向右删除至单词尾

Ctrl + d 删除光标后的一个字符

Ctrl + h 删除光标前的一个字符

Ctrl + y 将删除的字符粘贴至光标后

Alt + c 从光标处开始向右更改为首字母大写的单词

Alt + u 从光标处开始,将右边一个单词更改为大写 

Alt + l 从光标处开始,将右边一个单词更改为小写 

Ctrl + t 交换光标处和之前的字符位置

Alt + t 交换光标处和之前的单词位置

Alt + N 提示输入指定字符后,重复显示该字符N次(N表示具体的数字)

Ctrl-Shift-n 创建新窗口 

Ctrl-Shift-q 关闭当前窗口

Ctrl-Shift-t 创建一个标签页

Ctrl-Shift-w 关闭一个标签页

Ctrl-PaUp/PgUn 切换到下一个/前一个标签页

Ctrl-Shift-c 复制选中的文本

Ctrl-Shift-v 把文本粘帖到当前光标处

        

        





初识Linux(一)

标签:bsp   src   锁定   x86_64   排序   ps1   存储   命名   asi   

原文地址:http://blog.51cto.com/12367358/2060610

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!