Linux 入门学习-LINUX命令行描述及常用命令

Linux基础入门之(常用命令)

1.命令行构成

命令提示符一般有GUI、GLI两种接口

1.1命令行组成:命令提示符、prompt、bash(使用的shell)

1.1.1  提示符格式默认为系统变量设置

使用echo命令输出PS1系统本地变量

[[email protected] testdir]# echo $PS1

[\[email protected]\h \W]\$

1.1.2  用户登录提示符:

$:表示普通用户

#:表示系统用户

pwd 显示当前用户所在目录

[[email protected] testdir]# pwd

/testdir

1.1.3  shell:命令程序翻译,系统调用~kernel 之间 (命令解释器)

同时也是一种高级程序语言

shell有多种分类: sh csh tcsh ksh zsh 一般linux常用为bash

查看shell

查看当前使用的

echo ${SHELL}  -----  解释:调用变量时+$变量名

查看当前支持的所有shell

cat /etc/shells

查看用户的默认shell

getent passwd [username]

提示:bash也是一种程序

2.命令格式

2.1 命令的组成

一般为

command [option] [args]

命令名   选项   参数

<>    : 必选

[]    : 可选

|    : 多选一

{}   :分组

2.1.1选项

作用:用于启动后关闭某些或者某个功能

选项分类:

短选项:-c ,例如 -l -h

长选项:--world ,例如 --all --human-readable

2.1.2参数:

命令的作用域对象,常见的有文件名、用户名等

注意事项:

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

2、取消和结束命令执行:Ctrl + C Ctrl + D

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

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

3.命令分类

提示: 命令运行在shell下,linux默认为bash

3.1 命令分类内部命令和外部命令

3.1.1

类型区别:

内部命令:操作系统自带的命令,系统内部的格式来执行

外部命令:在当前系统路径下有对应的可以执行的目录以及文件

3.1.2

禁用和启用内部命令: 使用enable 命令

用法:   enable - n [command]

例子: 禁用和启用cd 内部命令

默认切换到家目录

[[email protected] testdir]# cd

禁用 cd 命令

[[email protected] ~]# enable -n cd

再次使用cd 命令切换到上次所在目录,提示当前shell找不到此命令

[[email protected] ~]# cd -

-bash: cd: command not found

启用 cd 命令

[[email protected] ~]# enable cd

cd又可以使用了,切换到上次所在目录成功

[[email protected] ~]# cd -

/testdir

3.1.3

判断一个命令的类型: 使用 type 命令

用法: type [command]

例子:

显示cd 为shell内置命令

[[email protected] testdir]# type cd

cd is a shell builtin

显示ls 为命令别名

[[email protected] testdir]# type ls

ls is aliased to `ls --color=auto‘

显示 touch 为外部命令,执行文件在/bin/touch

[[email protected] testdir]# type touch

touch is hashed (/bin/touch)

3.1.4

找到外部命令的执行文件: 使用 which

用法: which [command]

例子:

[[email protected] testdir]# which ls

alias ls=‘ls --color=auto‘

/bin/ls

找到外部命令的帮助文件: 使用whereis

用法:whereis [command]

[[email protected] testdir]# whereis ls

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

3.1.5

外部命令执行过后会将命令路径缓存到kv(key-value)中

查看和清除外部命令的缓存: 使用hash

hash [option] [args]

例子:

查看当前执行过的命令缓存

[[email protected] testdir]# hash

hits    command

4    /usr/bin/tty

1    /bin/hostname

1    /bin/df

注; hits 表示执行的次数

清空所有缓存命令缓存 remove

[[email protected] testdir]# hash -r

[[email protected] testdir]# hash

hash: hash table empty

清除指定命令缓存

[[email protected] testdir]# hash

hits    command

1    /sbin/ifconfig

2    /bin/ls

[[email protected] testdir]# hash -d ls

[[email protected] testdir]# hash

hits    command

1    /sbin/ifconfig

3.2 自动补全

命令补全

内部命令:会直接调用系统内部shell进行查找

外部命令: 系统会想到hash缓存表中查找,找不到会向bash会操作PATH环境变量中的路径去查找,按从左往右的顺序进行查询

路径补全

把用户给的的字符当作开头,如果唯一将自动补全,多个将列开头符合的文件列表

使用方法: 按一次或2次Tab键,CentOS7中支持命令的长选项自动补全

4.常用命令

系统和硬件时间

系统和硬件时间的区别

硬件时间:主板blos cmos上的时间 (开机工地的纽扣电池)

时间管理

linux : 使用rtc 实时时间

硬件时钟 (比如开机的供电纽扣电池)

hwclock or clock

-w   把系统时间写入硬件

-s   把硬件时间写入系统

系统时钟 (与硬件时钟有点误差)

date

系统时间和硬件时间相互转换 clock 命令

查看当前系统时间

[[email protected] testdir]# date

Sat Jul 23 14:00:38 CST 2016

查看当前硬件时间

[[email protected] testdir]# clock

Sat 23 Jul 2016 01:57:37 PM CST  -0.155398 seconds

把系统时间写入硬件时间

[[email protected] testdir]# clock -w

查看当前硬件时间

[[email protected] testdir]# clock

Sat 23 Jul 2016 02:01:13 PM CST  -1.056194 seconds

修改系统时间

[[email protected] testdir]# date ‘100110102001.10‘

Mon Oct  1 10:10:10 CST 2001

将硬件时间写入系统时间

[[email protected] testdir]# clock -s

[[email protected] testdir]# date

Sat Jul 23 14:04:00 CST 2016

注: hwclock 的用法和clock的以上用法一样

设置系统时间 date 命令

用法:date [[MMDDhhmm[[CC]YY][.ss]]

例子:设置当前系统时间为2016年7月23号13点55分59秒

[[email protected] testdir]# date  ‘072313552016.59‘

Sat Jul 23 13:55:59 CST 2016

显示系统时间 date 命令

例子

显示当前系统时间

[[email protected] testdir]# date

Sat Jul 23 13:23:51 CST 2016

显示当前系统时间为年月日

[[email protected] testdir]# date +%F

2016-07-23

显示当前系统时间为年月日 小时分钟秒

[[email protected] testdir]# date +%Y-%m-%d%t%H:%M:%S

2016-07-23      13:24:59

[[email protected] testdir]# date

Sat Jul 23 13:26:29 CST 2016

显示前10天的年月日

[[email protected] testdir]# date -d ‘-10 day‘

Wed Jul 13 13:27:08 CST 2016

显示后20天的年月日

[[email protected] testdir]# date -d ‘20 day‘

Fri Aug 12 13:27:23 CST 2016

[[email protected] testdir]# date

Sat Jul 23 13:27:40 CST 2016

显示前10天的年月日

显示指定日期格式的前1 天

[[email protected] testdir]# date -d ‘-1 day‘ +%F

2016-07-22

显示指定日期格式的后一天

[[email protected] testdir]# date -d ‘1 day‘ +%F

2016-07-24

显示指定日期格式的前1 天

[[email protected] testdir]# date -d ‘1 day ago 20140101‘ +%F

2013-12-31

显示指定日期格式的后1 天

[[email protected] testdir]# date -d ‘-1 day ago 20140101‘ +%F

2014-01-02

date命令

显示日历表 cal 命令

用法:cal  [CCYY]  或者 cal  [MM] [CCYY]

例子

显示当这个月的日历

[[email protected] testdir]# cal

July 2016

Su Mo Tu We Th Fr Sa

1  2

3  4  5  6  7  8  9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31

显示今年的日历

[[email protected] testdir]# cal 2016

2016

January               February                 March

Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa

1  2       1  2  3  4  5  6          1  2  3  4  5

3  4  5  6  7  8  9    7  8  9 10 11 12 13    6  7  8  9 10 11 12

10 11 12 13 14 15 16   14 15 16 17 18 19 20   13 14 15 16 17 18 19

17 18 19 20 21 22 23   21 22 23 24 25 26 27   20 21 22 23 24 25 26

24 25 26 27 28 29 30   28 29                  27 28 29 30 31

31

显示指定年月的日历

[[email protected] testdir]# cal 07 2016

July 2016

Su Mo Tu We Th Fr Sa

1  2

3  4  5  6  7  8  9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31

设置多窗口会话 screen 命令

用法:

注:session为自定义的会话名称

screen -S [session]  创建会话

screen -ls 查看打开的会话

screen -x  [session] 加入会话

screen -d  远程detach 剥离会话

Ctrl+d,a  剥离当前会话

exit 退出会话

screen -r [session] 恢复某个会话

screen -d -r [session] 退出当前会话并恢复到指定会话

例子

创建一个会话

[[email protected] testdir]# screen -S mysession

查看当前打开的会话

[[email protected] testdir]# screen -ls

There is a screen on:

5544.mysession  (Attached)

按Alt+d,a,暂时离开当前会话,然后可以看到

[[email protected] testdir]#

[detached]

然后查看已经打开的会话

[[email protected] testdir]# screen -ls

There are screens on:

7472pxs-0.mzf  (Detached)

5575.mysession  (Attached)

恢复到刚才创建的会话

[[email protected] testdir]# screen -r mysession

使用另外一个终端登录

[[email protected] testdir]# screen -x mysession

然后会发现输入一些命令的操作和输出结果会同屏显示

这时断开连接

[[email protected] testdir]# screen -ls

There are screens on:

7472pxs-0.mzf  (Detached)

5575.mysession  (Attached)

然后再次加入并剥离其它会话

[[email protected] testdir]# screen -ls

There are screens on:

7472pxs-0.mzf  (Detached)

5575.mysession  (Attached)

[[email protected] testdir]# screen -d -r 5575

输出字符 echo 命令

使用方法:echo [opption] [string]

常用选项:

-n 表示不换行输出

-e 特殊处理一些特定意义字符,并不会当成一般字符输出

\a 表示输出是发出警报声

\b 表示退格键

\c 表示压缩换行

\n 换行且光标移至行首

\r 表示光标移至行首不换行

\t 插入制表符

\\ 输出 \ 符号

\0nn  要插入的nnn(八进制)字符ACSII字符

\xHH  插入HH(十六静止)代表的ACSII字符

注意:在模型ssh、telnet终端上可能使用-e 输出ACSII可能出现乱码或者屏幕混乱

使用 reset   --- 恢复系统字符界面乱码

例子

输出标准字符串

[[email protected] testdir]# echo "Hello World"

Hello World

不换行输出

[[email protected] testdir]# echo -n "Hello World"

发出警报声

[[email protected] testdir]# echo -e "ssssss\a"

删除\b前面的一个字符

[[email protected] testdir]# echo -e "Hello\b World"

Hell World

压缩换行符

[[email protected] testdir]# echo -e "Hello\c World"

Hello[[email protected] testdir]# echo -e "Hello\c World"

换行且光标移动到行首

Hello[[email protected] testdir]# echo -e "Hello\n World"

Hello

World

不换行移动光标到行首

echo -e "aaa b\rbb"

bba b

echo -e "aaa \rbbb"

bbb

echo -e "aaa \rbbb\r"

bbb

echo -e "aaa bbb\r"

aaa bbb

插入制表符(Tab键)

echo -e "aaa\tbbb"

aaa     bbb

插入\符号

echo -e "aaa\\kbbb"

aaa\kbbb

显示红色字体

echo -e "\033[43;31mred hat\033[0m"

输出闪烁的字体

echo -e “033[43;31;5m*******\033[0m”

5.命令调用

“”   表示强引用

‘’    表示弱引用

``    表示子命令

调用一个命令的执行结果

例如1: 调用并输出主机名

[[email protected] testdir]# echo "my hostname is $(hostname)"

my hostname is mzf.domain

[[email protected] testdir]# echo "my hostname is `hostname`"

my hostname is mzf.domain

例如2: 使用’’会吧命令调用当作普通字符输出

[[email protected] testdir]# echo ‘my hostname is $(hostname)‘

my hostname is $(hostname)

6.  分组调用 {}

把字符分组输出

[[email protected] testdir]# echo file{1,2,3}

列出当前目录下的file1 file2 file3

[[email protected] testdir]# ls -l file{1,2,3}

创建多个文件

[[email protected] testdir]# touch file{1,2,3}.{txt,log}

强制删除多个文件

[[email protected] testdir]# rm -f file{1,2,3}

7.  使用命令帮助

whatis简介命令的用途

特性:

1、显示命令的简短描述

2、每晚使用一个数据库更新

3、刚安装后不可立即使用

4、makewhatis (centos6) | madb (centos 7)重新制作数据库

5、举例: whatis cal 或 man -f cal

whereis查看文件的帮助文档路径

whereis <command>

使用帮助文档

内部命令:

help  <command>

man  bash

外部命令:

1、 command  --help 或者 command -h

2、 使用帮助手册

man  <command>

3、 查看命令详细信息

info  <command>

4、 程序自身的帮助文档

README

INSTALL

ChangeLog

5、 程序官方文档

官方站点:Documentation

6、发行版的官方文档

7、 Google

INSTALL

ChangeLog

(5) 程序官方文档

官方站点:Documentation

(6) 发行版的官方文档

(7) Google

command --help 的使用

作用: 显示命令的总结和参数列表

使用大多数,并不是所有

举例:

date --help

Usage:date[OPTION]...[+FORMAT]or: date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]

说明:

[]  可选的,可以加

CAPS 或者 <command> 是变量,必须项

... 表示一个分组的参数列表,比如user1,user2

start|status|stop|restart 表示多选一,不可同时选择

-abc同等 -a -b -c

8.  执行过的命令历史记录 history

8.1 常用命令用法

查看命令记录(记录号+命令)

history

清除所有命令历史记录

history -wc

设置记录大小为0

export HISTSIZE=0

删除第几号记录,num为指定记录号

history -d [num]

删除从num号到upnum号的历史记录

history -d [num] [upnum]

关闭和开启历史记录功能

set +o history    关闭history历史记录功能

set -o history    开启history历史记录功能

8.2如何不关闭历史记录功能并不记录输入的命令?

1、 设置HISTCONTROL环境变量

export HISTCONTORL=ignospace

2、 在用输入的命令前面敲一个空格键

[space]echo "this is a top sercet."

注:[space]是指你敲了空格键

3、 查看历史记录是否记录上次命令

history

发令未记录echo 命令表示成功

时间: 2024-10-24 15:49:30

Linux 入门学习-LINUX命令行描述及常用命令的相关文章

Linux 入门学习-LINUX基本认识及常用命令

Linux基础入门之(终端说明) 用户的说明 用户的分类: 系统用户 有特殊权限的系统管理者用户,超级系统用户 root用户 :权限最大,类似于windows系统中的administrator 用户 登录用户 权限有所限制的用户,无法执行一些特殊操作 用户编号:每个用户都会被分配一个用户编号(uid)来表示该用户的唯一性 管理员root 系统用户 普通用户 CentOS6用户编号uid       0     1~499     500+ CentOS7用户编号ui       0     1~

戴尔 iDRAC 命令行工具及常用命令

1.RHEL 系统环境iDRAC 命令工具包: Dell EMC OpenManage Linux Remote Access Utilities :http://www.dell.com/support/home/cn/zh/cndhs1/drivers/driversdetails?driverId=49T1M 下载后,需解决net-snmp-utils包的依赖关系在执行此目录下的rpm包安装/root/linux/rac/RHEL7/x86_64,然后软链接 物理机环境的安装和虚拟机环境安

Linux入门学习教程:虚拟机体验之KVM篇

在上一篇中,我展示了虚拟机软件QEMU的使用.效果及其性能,同时也分析了不同用户对虚拟机的不同追求.但是不管是桌面用户还是企业级用户,对虚拟机 软件的追求有一点是共同的,那就是性能.QEMU是一个强大的虚拟机软件,它可以完全以软件的形式模拟出一台完整的电脑所需的所有硬件,甚至是模拟出不同 架构的硬件,在这些虚拟的硬件之上,可以安装完整的操作系统.QEMU的运行模式如下图: 很显然,这种完全以软件模拟硬件的形式虽然功能强大,但是性能难以满足用户的需要.模拟出的硬件的性能和物理硬件的性能相比,必然会

linux学习与实践(4)--常用命令备忘

1.查看程序对应进程号: ps –ef|grep 进程名 2.Linux下查看端口号所使用的进程号: 使用lsof命令: lsof –i:端口号 linux学习与实践(4)--常用命令备忘,布布扣,bubuko.com

Linux命令行下编辑常用的快捷键

Linux命令行编辑快捷键: history                                   显示命令历史列表 ↑(Ctrl+p)                               显示上一条命令 ↓(Ctrl+n)                               显示下一条命令 !num                                     执行命令历史列表的第num条命令 !!                            

2018年最新Linux入门学习路线图

进入全新的2018年之后,感觉Linux入门学习的路线也应该进行一下更新了.过去一年里Linux版本更新过不少版本,而且很多新技术冲击了应用市场,不及时更新一下很可能跟用人需求南辕北辙. 正好拿到一份不错的入门路线图,所以就先发出来给大家做个参考. 原文地址:http://blog.51cto.com/12592106/2072693

以Qemu模拟Linux,学习Linux内核

文章名称:以Qemu模拟Linux,学习Linux内核作      者:five_cent文章地址:http://www.cnblogs.com/senix/archive/2013/02/21/2921221.html维护日志:2013-02-21 建立文档(注:文章参考自http://www.linuxidc.com/Linux/2011-07/39373.htm, 是对该篇文章的一些补充和说明.文章内所使用的环境是Ubuntu 12.04,如果其中遇到编译问题,请自行参考错误说明,配置依赖

Linux中关于文本查看和处理的常用命令

            Linux中关于文本查看和处理的常用命令 一.学习目标         掌握以下命令:             查看文本: cat .tac.more.less.head.tail             文本处理:cut.sort.uniq.wc.tr 二.查看文本命令        cat : 连接并显示文本 cat [options] file,... -n :显示行号 -E :显示结束符$ more :分屏查看文件 space键: 向后翻一屏 b键:向前翻一屏 e

Linux服务器上监控网络带宽的18个常用命令

Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带宽.这样一来,用户很容易发现过度使用网络带宽的某个进程. 这些工具使用不同的机制来制作流量报告.nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而