Linux基础与命令解释

Linux基础与命令

Linux起源

     1984 年:Richard Stallman 发起GNU 项目和自由软件基金会

创建开源的UNIX 实用工具版本

创建通用公共许可证(GPL

开源软件许可实施原则

 1991 年:Linus Torvalds 发布Linux

创建开放源码,类Unix 的内核,在GPL 下发布

下载:www.kernel.org

 Linux 操作系统:

Linux 内核+ GNU 工具= 完整的类UNIX 操作系统

如:CentOS,Ubuntu,Android

Linux发行版

   slackware:SUSE Linux Enterprise Server (SLES)

opensuse 桌面

 debian: ubuntu mint

 redhat rhel: redhat enterprise linux

    每18 个月发行一个新版本

   CentOS :兼容rhel 的格式

   中标 麒麟:中标 软件

   fedora :每6 个月发行一个新版本

 ArchLinux :轻量简洁

Gentoo :极致性能, 不提供传统意义的安装程序

LFS: Linux From scratch  自制Linux

Android: kernel+busybox (工具集)+java 虚拟机、

 Linux 分支参考网站:http://futurist.se/gldt/

  世界上的开源许可证,大概有上百种

 GPLv2, GPLv3, LGPL(lesser) copyleftWordPress

 Apache: apache

 BSD: bsd

 Mozilla

 Apache

 MIT

Linux 哲学思想

  一切都是一个文件(包括硬件)

  小型,单一用途的程序

  链接程序,共同完成复杂的任务

  避免令人困惑的用户界面

  配置数据存储在文本中

 CentOS

https://wiki.centos.org/Download

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

   用户登录

 root  用户:

 一个特殊的管理帐户

 也被称为超级用户

 root 已接近完整的系统控制

 对系统损害几乎有无限的能力

 除非必要, 不要登录为 root

普通( 非特权  )用户

 权限有限

 造成损害的能力比较有限

            终端terminal

  设备终端

键盘 鼠标显示器

 ( 物理终端( /dev/console ) )

控制台console

  虚拟终端(tty :teletypewriters, , /dev/tty# # 为[1-6])

tty  可有n 个,Ctrl+Alt+F[1-6]

 ( 图形终端( /dev/tty7 ) ) startx, xwindows

CentOS 6: Ctrl + Alt + F7

CentOS 7:  在哪个终端启动,即位于哪个虚拟终端

 ( 串行终端( /dev/ttyS# ) )

ttyS

 ( 伪终端( pty :pseudo-tty , , /dev/pts/# ) )

pty, SSH 远程 连接

  查看 当前的 终端设备:#tty

     交互式接口:启动终端后,在终端设备附加一个交互式应用程序

    GUI :Graphic User Interface

X protocol, window manager, desktop

Desktop:

GNOME (C,  图形库gtk), ,

KDE (C++, 图形库qt)

XFCE ( 轻量级桌面)

    CLI :Command Line Interface

shell 程序:sh (bourn) csh tcsh ksh (korn)

            bash (bourn again shell)GPL zsh

 Shell  是Linux 系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

 shell 也被称为LINUX 的命令解释器(command interpreter) )

 shell 是一种高级程序设计语言

               bash shell

 GNU Bourne-Again Shell(bash) 是GNU 计划中重要的工是 具软件之一,目前也是 Linux 标准的shell ,与sh 兼容

 CentOS 默认使用

  显示当前使用的shell

      #echo ${SHELL}

  显示当前系统使用的所有shell

      #cat /etc/shells

命令提示符: :prompt  

  显示提示符格式

    [root@localhost ~] :echo $PS1

  修改提示符格式

    PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\]"

    \e \033 

    \u  当前用户

    \h  主机名简称 

    \H  主机名

    \w  当前工作 目录 

    \W  当前工作目录基名

    \t 24 小时时间格式 

    \T 12 小时时间格式

    \!  命令历史数 

    \#  开机后命令历史数

         在shell 中可执行的命令有两类:

    内部命令:由shell 自带的,而且通过某命令形式提供

    help  内部命令列表

    enable cmd  可以启用

    enable –n cmd  禁用 内部 命令

    enable –n  查看所有禁用的内部命令

    外部命令:在文件系统路径下有对应的可执行程序文件

    查看路径:which -a |–skip-alias ; whereis

    区别指定的命令是内部或外部命令:

        # type COMMAND

    Hash 缓存表:

        系统初始hash 表为空 ,当外部命令执行时,默认会 从ATH 路径下寻找该 命令,找到后会将这 条命令的 路径记录到

        hash 表中,当再次 使用该命令时,shell 解释器首先会查看hash表 ,存在将执行之,如果不存在,将会去 去PATH 路径下

        寻找 。利用hash 缓存表可大大提高命令的调用速率

    Hash 常见用法:

    hash 显示hash 缓存

    hash –l  显示hash 缓存,可作为输入使用

    hash –p path name  将命令全路径path起 起 别名为name

    hash –t name  打印缓存中name 的路径

    hash –d name  清除name 缓存

    hash –r 清除缓存

命令别名

        显示当前shell 进程所有可用的命令别名

       #alias

  定义别名NAME ,其相当于执行命令VALUE

#alias NAME='VALUE'

  在命令行中定义的别名,仅对当前shell 进程有效

  如果想永久有效,要定义在配置文件中

仅对当前用户:~/.bashrc

对所有用户有效:/etc/bashrc

         撤消别名:unalias

unalias [-a] name [name …]

-a取消所有别名

date  显示日期和时间

 Linux 两种 时钟

系统 时钟:由Linux 内核通过CPU 的工作频率进行

硬件 时钟:主板

hwclock clock:  显示硬件时钟

-s, –hctosys  以硬件时钟 准,校正系统时钟

-w, –systohc  以系统时钟为准 校正硬件时钟

时区: /etc/localtime

时间方面 :

% : 印出 %

%n : 下一行

%t : 跳格

%H :小时(0..23

%I : 小时(01..12

%k : 小时(0..23

%M : 分钟(0..59

%p : 显示本地时段上午下午

%r : 直接显示时间 12 小时制,格式为 hh:mm:ss [AP]M)

%s : 1970 1 1 00:00:00 UTC 到目前为止的秒数

%S : 秒(00..61

%T : 直接显示时间 24 小时制)

%X : 相当于 %H:%M:%S

%Z : 显示时区

日期方面 :

%a : 星期几 (Mon..Sun)

%A : 星期几 (Monday..Sunday)

%b : 月份 (Jan..Dec)

%B : 月份 (January..December)

%c : 直接显示日期与时间

%d : (01..31

%D : 直接显示日期 (mm/dd/yy)

%h : %b

%j : 一年中的第几天 (001..366

%m : 月份 (01..12

%U : 一年中的第几周 (00..53 (以 Sunday 为一周的第一天的情形)

%w : 周中的第几天 (0..6

%W : 一年中的第几周 (00..53 (以 Monday 为一周的第一天的情形)

%x : 直接显示日期 (mm/dd/yy)

%y : 年份的最后两位数字 (00.99

%Y : 完整年份 (0000..9999

若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数

把计 :

-d datestr : 显示 datestr 中所设定的时间 (非系统时间)

–help : 显示辅助讯息

-s datestr : 将系统时间设为 datestr 中所设定的时间

-u : 显示目前的格林威治时间

–version : 显示版本编号

例子 :

显示时间后跳行,再显示目前日期 :

date +%T%n%D

显示月份与日数 :

date +%B %d

显示日期与设定时间(12:34:56 :

date –date 12:34:56

     cal  显示日历

           cal –y

     nano  文本编辑

  关机:halt, poweroff

  重启:reboot

-f:  强制,不调用shutdown

-p:  切断电源

  关机或重启:shutdown

shutdown [OPTION]… TIME [MESSAGE]

-r: reboot

-h: halt

-c cancel

TIME:now:  立刻

+m: 相对时间表示法,多久之后;例如 +3

hh:mm:  绝对时间表示,指明具体时间

       用户登录信息查看命令:

whoami:  显示当前登录有效用户

who:  系统当前所有的登录会话

w:  系统当前所有的登录会话及所做的操作

screen 命令:

创建新screen 会话:

screen –S [SESSION]

加入screen 会话:

screen –x [SESSION]

退出并 关闭screen 会话:

exit

剥离 当前screen 会话:

Ctrl+a,d

显示所有已经打开的 screen 会话:

screen -ls

恢复某 screen 会话

screen -r [SESSION]

echo 命令

  功能:显示字符

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

-n 不自动换行

-e 启用字符的解释功能

启用命令 选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

\a  发出警告声

\b  退格键

\c  最后不加上换行符号

\n  换行且光标移至行首

\r  回车,即光标移至行首,但不换行

\t  插入tab

\\  插入\ 字符

\0nnn  插入nnn (八进制)所代表的ASCII 字符

echo -e '\033[43;31;5mmagedu\033[0m'

\xHH 插入HH (十六进制)所代表的ASCII

122.png

  重复前一个命令,有4 种方法:

重复前一个命令 使用上方向键,并回车执行

!!  并回车执行

输入 !-1  并回车执行

Ctrl+p  并回车执行

 Ctrl + n :历史中的下一条命令

 !num: 按照history 命令输出中的序号重复对应命令

 !-n : 重复n

 !string  重复前一个以“string ”开头的命令

 !?string  重复前一个包含string 的命令

 !string:p  仅打印命令历史,而不执行

 !$:p 打印输出 !$  的内容

 !*:p 打印输出 !* (所有参数)  的内容

 ^string  删除上一条命令中的string

 ^string1^string2  将上一条命令中的string1 替换为string2

 !!:gs/string1/string2  将上一条命令中所有的string1 都替换为 string2

  使用up (向上)和down (向下)键来上下浏览从前输入的

命令

 ctrl-r 来在命令历史中搜索命令

reverse-i-search `’:

 Ctrl+g :从历史搜索模式退出

  要重新调用前一个命令中最后一个参数:

 !$ 表示

 Esc, . (点击Esc 键后松开,然后点击键)

 Alt+ . (按住Alt 键的同时点击键)

 command !^ :  利用上一个命令的第一个参数做cmd 的参数

 command !$ :  利用上一个命令的最后一个参数做cmd 的参数

 command !* :  利用上一个命令的全部参数做cmd 的参数

 command !:n :  利用上一个命令的第n 个参数做cmd

 command !n:^  调用第n 条命令的第一个 参数

 command !n:$  调用第n 条命令的最后一个 参数

 command !n:m  调用第n 条命令的第 m 参数

 command !n:*  调用第n 条命令的所有

-c:  清空命令历史

-d:  删除历史中指定 的命令

#:  显示最近的# 条历史

-a:  追加本次会话新执行的命令历史列表至历史文件

-n:  读历史文件中未读过的行到历史列表

-r:  读历史文件附加到历史列表

-w:  保存历史列表到指定的历史文件

-p:  展开 历史参数成多行 ,但不存在历史列表中

bash 的快捷键

 Ctrl + l 清屏,相当于clear 命令

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

 Ctrl + s 阻止屏幕输出,锁定

 Ctrl + q 允许屏幕输出

 Ctrl + c 终止命令

 Ctrl + z 挂起命令

 Ctrl + a 移到命令行首

 Ctrl + e 移到命令行尾

 Ctrl + f 按字符前移(右向)

 Ctrl + b 按字符后移(左向)

 Alt + f 按单词前移(右向)

 Alt + b 按单词后移(左向)

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

 Ctrl + u 从光标处删除至命令行首

 Ctrl + k 从光标处删除至命令行尾

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

 Alt + d 从光标处向右删除至字尾

 Ctrl + d 删除光标处的字符

 Ctrl + h 删除光标前的字符

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

 Alt + c 从光标处更改为首字母大写的单词

 Alt + u 从光标处更改为全部大写的单词

 Alt + l 从光标处更改为全部小写的单词

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

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

 

 Alt + N 提示输入指定字符后,重复显示该字符N

  注意:Alt快捷键较少使用,因为常常和编辑器冲突

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创文章,作者:SDS,如若转载,请注明出处:http://www.178linux.com/68888

(0)
SDSSDS
上一篇 2017-03-17
下一篇 2017-03-17

相关推荐

  • psql: undefined symbol: PQconnectdbParams 已解决

    操作PostgreSQL的过程中,在执行psql的时候,遇到了如下错误:  /path/to/postgresql/bin/psql: symbol lookup error: /usr/pgsql-9.2/bin/psql: undefined symbol: PQconnectdbParams 整理后发现是,PostgreSQL的动态链接库没有…

    Linux干货 2015-03-08
  • Linux作业管理、并发执行、计划任务

    概述     本章将为大家介绍一些进程管理的补充部分作业管理和任务的并发执行,同时也将介绍一下Linux系统上计划任务的相关内容,具体分为:         1、Linux作业管理     &nbsp…

    Linux干货 2016-09-09
  • ifcfg家族命令介绍

    ifcfg家族命令: ifconfig ifconfig [interface] add<地址>:设置网络设备IPv6的ip地址; del<地址>:删除网络设备IPv6的IP地址; down:关闭指定的网络设备;<硬件地址>:设置网络设备的类型与硬件地址; io_addr:设置网络设备的I/O地址; irq:设置…

    Linux干货 2016-07-29
  • Infobright高性能数据仓库

    1.  概述         Infobright是一款基于独特的专利知识网格技术的列式数据库。Infobright简单易用,快速安装部署,使用中无需复杂操作,能大幅度减少管理工作;在应对50TB甚至更多数据量进行多并发复杂查询时,更能够显示出令人惊叹的速度。相比于MySQL,其查询速度提升了数倍甚…

    Linux干货 2015-04-05
  • Linux系统启动流程简介

    centos系统启动流程 本篇仅仅讲解centos5和6 centos7并不适用 Linux系统的组成部分:内核+根文件系统 内核功能: 进程管理 内存管理 网络管理 驱动程序 文件系统 安全功能 有以下目录结构的文件系统可以被识别为根文件系统,但根文件系统本身不存在 rootfs:/bin/ /sbin /etc/ /sys/…

    Linux干货 2016-09-10
  • 8月3日作业

    课堂练习: 当用户xiaoming对/testdir 目录无执行权限时,意味着无法 做哪些操作? 不能进入目录,不能创建目录、文件 当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做 哪些操作?  不能查看目录、文件 当用户wangcai 对/testdir 目录无写权限时,该目录下的只 读文件file1是否可修改和删除?&n…

    Linux干货 2016-08-07