Linux基础介绍

1、Linux用户:

Linux用户分为普通用户和管理员,普通用户的系统操作权限低,用户的误操作对系统数据的破坏程度有限,不会对系统造成灾难性的破坏。而管理员对系统具有绝对的权限,可以修改和设置系统的任何数据,如果误操作,及其容易对系统数据造成不可挽回的破坏,比如执行以下命令 rm  -rf  / 。因此,系统管理员在操作root用户时需要谨慎,同时应该保管好其密码,防止被非法盗用。Linux系统默认的管理员账户名为 root,其用户ID号(UID)为0,只要UID为0的用户都是管理员账户。

 

2、Linux终端(terminal)

终端就是用户与主机进行交互的一种介质(方式),可以是虚拟的,也可以是实体的。终端大体分为以下四种:

(1)物理终端:直接接入本机的显示器和键盘称为物理终端,在Linux系统中的文件路径为/dev/console。

(2)虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,在Linux系统中的文件路径为/dev/tty#(#表示数字),Linux默认提供6个虚拟终端,可以使用快捷键Ctrl+Alt+F(1-6)进行各终端的切换

(3)图形终端:属于虚拟终端,但会提供桌面环境。

(4)模拟终端:在图形界面打开的命令行以及基于ssh协议或Telnet协议等远程打开的界面,称为模拟终端,在Linux系统中的文件路径为/dev/pts/#(#表示数字)。常见的软件有xshell、putty

3、shell简介

(1)什么是shell

Shel是用户与Linux系统沟通的桥梁,提供了用户与内核进行交互操作的接口,它接收用户输入的命令并把它送入内核去执行。同时shell也是一种高级程序语言。

(2)Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。

(3)Linux默认是用的shell是bash,是Linux的标准shell,以sh兼容。

(4)两个命令:echo  $SHELL: 显示当前使用的shell;  cat  /etc/shells:显示当前系统使用的所有shell。

4、命令相关的基本介绍

(1)命令提示符:

显示提示符格式的命令:echo  $PS1  ,格式说明如下:

[\u@\h \W]\$, 说明: \u :用户名 ; \h:主机名 ; \w:用户当前的路径。 符号 $:表示当前登录用户为普通用户; 符号 #:表示当前登录用户为管理员 。

修改默认的命令提示符:使用vi编辑/etc/profile文件,在最后加上:export PS1=’[u@h W]$ ‘即可

W 代替 w 就可以实现绝对路径到相对路径的转换

  下面简单说说环境下默认的特殊符号所代表的意义:

  d :代表日期,格式为weekday month date,例如:”Mon Aug 1″

  H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

  h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

  t :显示时间为24小时格式,如:HH:MM:SS

  T :显示时间为12小时格式

  A :显示时间为24小时格式:HH:MM

  u :当前用户的账号名称

  v :BASH的版本信息

  w :完整的工作目录名称。家目录会以 ~代替

  W :利用basename取得工作目录名称,所以只会列出最后一个目录

(2)命令的分类:

(a)内部命令:安装系统时shell程序自带的,实际上是shell程序的一部分,随系统启动加载至内存中,这些命令由shell程序识别并在shell程序内部完成运行。使用enable命令可以启用或禁用内部命令,如enable -n cd :禁用cd命令;enable cd:启用cd命令

(b)外部命令:是Linux系统中的应用程序部分,其不会随系统启动,而是在需要时才会被调用,外部命令的执行过程是由shell控制的。使用which或whereis命令可以查看外部命令的文件存放位置(/bin,/usr/bin,/sbin,/usr/sbin……),如which cd

(c)type命令可以查看某个命令是内部命令还是外部命令;type COMMAND。

(3)命令格式

COMMAND [OPTION…] [ARGUMENTS…]

(a)选项:用于启用或关闭命令的某个或某些功能;选项分为短选项和长选项;如date命令,短选项 -s与长选项 –set ,其效果是一样的。

参数:指命令的作用对象,比如文件名、目录名等。

(b)在查看命令帮助时,会出现[],<>,|等符号,它们的含义如下:

[]        表示是可选的;

<>       表示是可变化的;

x|y|z    表示只能选择一个;

-abc   表示三个参数(或任何二个)的混合使用

(c)注意事项:

* 多选项,以及多参数和命令之间使用空白字符分隔

* 取消和结束命令执行:Ctrl+c ,Ctrl+d

* 多个命令可以用; 符号分开

* 一个命令可以用\分成多行

5、几个常用命令

(1)date命令:显示或设置系统日期和时间

(a)语法:date  [选项]  [参数]

(b)常用选项

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

-u:显示GMT;

–help:在线帮助;

–version:显示版本信息。

(c)参数

<+时间日期格式>:指定显示的日期时间格式。

时间方面 :

% : 印出 %

%n : 下一行

%t : 跳格

%H : 小时(00-23)

%I : 小时(01-12)

%k : 小时(0-23)

%l : 小时(1-12)

%M : 分钟(00-59)

%p : 显示本地 AM 或 PM

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

%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

%S : 秒(00-60)

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

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

%Z : 显示时区

日期方面 :

%a : 星期几 (Sun-Sat)

%A : 星期几 (Sunday-Saturday)

%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)示例

显示当前年-月-日-时-分-秒:

date  +%Y-%m-%d-%H-%M-%S

显示10天前的时间:

date -d "-10 day" +%Y/%m/%d 或者 date +%Y/%m/%d –date="-10 day"

将系统时间设置为2017-07-15 14:15:16

date -s "2017-07-15 14:15:16"(注意日期与时间之间要有空格)

(e)补充命令clock、hwclock显示硬件时间

clock  -s, –hctosys:校正系统时间

clock  -w, –systohc:校正硬件时间

 

(2)cal命令:显示日历。

(a)语法:

cal  [选项]  [参数]

(b)选项:

-l: 显示单个月(默认选项)

-3: 显示当前月及其前后各一个月的日历

-s: 将星期日作为每月的第一天

-m: 将星期一作为每月的第一天

-j: 以一年的第n天显示

-y: 显示当前年的日历

(c)参数

月(1-12):显示指定的月份  年:显示指定的年份

(d)示例

blob.png blob.png

(3)nano命令

nano是一个字符终端文本编辑器,可以打开和编辑指定的文件。

(a)语法:

nano [OPTIONS] [[+LINE,COLUMN] FILE]…

(4)screen命令:

Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

(a)安装:yum install screen

(b)使用

打开新的screen: screen –S [SESSION]

加入某会话:screen –x [SESSION]

退出并关闭screen: exit

剥离当前screen: Ctrl+a,d

显示所有已经打开的screen: screen -ls

恢复到某screen :screen -r [SESSION]

(5)echo命令

显示字符,其显示的字符是标准输出。

(a)语法

echo  [OPTION]  [ARGUMENT]

(b)选项

-n:不要在字符的最后自动换行。

-e:激活转移字符,一般与以下字符连用

\a  发出警告声;

\b  退格键,删除前一个字符;

\c  最后不加上换行符号;

\n  换行且光标移至行首;

\r  光标移至行首,但不换行;

\t  插入tab; ;

\\  插入\ 字符;

\f  换行但光标任然停留在原来的位置;

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

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

(c)参数

指定要打印的内容(变量)

(d)示例

blob.png

显示红色闪烁的字符:

echo -e "\e[31;40;5m hello linux \e[0m"

(e)补充

echo 可以与重定向组合使用,如echo hello > /dev/tty3 ; echo my file >> /testdir/testfile(文本文件testfile若不存在系统会自动创建,但是目录testdir必须事先存在)

(6)history命令

(a)语法

history [OPTION] [ARGUMENT]

(b)选项

-c:清空当前shell历史命令

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

-a:将历史命令缓冲区中命令写入历史命令文件(~/.bash_history)中

-r:将历史命令文件中的命令读入当前历史命令缓冲区

-w:将当前历史命令缓冲区命令写入历史命令文件中

(c)用法

调用命令历史中的命令:

!n:在此执行第n条命令

!!:执行上一条命令

!STRING:执行最近的指定的字符开头的命令,如!s表示执行最近一次一s开头的命令

(d)示例

显示当前shell历史命令的最近的20条命令: history 20

 

 

 

 

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

(0)
paopao
上一篇 2016-07-26
下一篇 2016-07-26

相关推荐

  • 实现CenOS7网卡名传统方式

    网卡命令:理念 CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当 增加或删除网卡时,名称可能会发生变化 CentOS 7使用基于硬件,设备拓扑和设置类型命名: (1) 网卡命名机制 systemd对网络设备的命名方式 (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信 息可用,且可预测则根据此索引进行命名, 例如en…

    Linux干货 2017-12-19
  • python 10第一周博客作业

    1. 修改提示符格式 PS1=”\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]” 2.命令别名:alias NAME=’VALUE’   如果想永久有效,要定义在配置文件中 仅对当前用户:~/.bashrc   对所有用户有效:/etc/bashrc 3.日期和时间:相关命令 d…

    Linux干货 2018-03-17
  • 批量部署lxc虚拟机

    前言:lxc是一种操作系统层虚拟化(Operating system–level virtualization)技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。通过统一的命名空间和共用API来分配不同软件容器的可用硬件资源,创造出应用程…

    Linux干货 2016-03-20
  • CentOS启动流程

    CentOS启动大致流程: POST –> BootSequence –> Bootloader –> kernel –> rootfs –> switchroot –> /sbin/init –> (/etc/inittab;/et…

    Linux干货 2017-07-12
  • 第六周总结

    请详细总结vim编辑器的使用并完成以下练习题 vim: 模块化的编辑器   基本模式: 编辑模式,命令模式 输入模式 末行模式: 打开文件: # vim [options] [file..] +#:打开文件后,直接让光标处于第#行的行首; +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首; 模式转换: 编辑模式:…

    Linux干货 2017-08-07
  • 网络管理

                 网络管理 一、 OSI七层模型   OSI七层模型结构如下            OSI七层模式基本只是用于我们学习时候使用,因为其将每层协议定义的太规范,导致缺乏灵活性,所以现实中仍然以tcp/ip四层模型为主,OSI七层模型从下至上依次为:      1、 物理层( physical layer)   物理层是通过网络介质(如网…

    Linux干货 2016-09-06