linux系统是一个主要使用命令进行日常工作的系统,所以了解并熟练掌握常用命令的使用是进入linux大门的基本,以下便是linux学习过程中学习的常用的命令的用法:

linux的日常管理工作一般有如下几个部分,下面通过这几个方面的管理工作来整理与其相关的常用命令;

一  shell的介绍

1.普通用户需要直接使用计算机系统提供的功能,是非常困难的,因为计算机系统能接收的指令和人发出的指令是不相同的,因此需要在计算机系统及用户之间建立一个可以将相互的指令进行“翻译”的功能。shell就是一个人机交互的接口,用户通过shell,可以完成与计算机的对话。

根据界面的不同,可将shell分为两种,图像化接口(GUI)和命令行接口(CLI);

常用图形化接口(GUI)

Gnome、KDE、xfce

常用命令行接口(CLI)

bsh、csh、tcsh、ksh、bash、zsh

在linux中命令行接口shell的种类非常的多,在大多数的linux的发行版本中默认使用的shell是bash。

2.bash的基础特性

2.1 命令历史:

当用户在bash中输入一个命令时,shell会在环境变量中找到命令对应的可执行的文件,并提交给系统执行,执行完成后并将结果返回给用户,bash会将用户执行过的命令记录在缓冲区中,以便下一次执行此命令是可以更加快速的在缓冲区中找到,这种命令的记录被称为命令历史。

当你在shell中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户主目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。

2.1.1  命令历史管理:

命令历史的管理,其实是对相关的环境变量的参数进行调整,环境变量的调整分为三种,在/etc/profile文件中进行修改对所有用户永久生效、/home/USERNAME/.bash_profile文件中修改的设置对此用户永久有效、使用”export 变量名=变量值“命令进行修改对用户当前会话有效

设置命令记录的相关环境变量:

HISTSIZE:命令历史记录的条数;

HISTFILE:命令历史文件路径;

HISTFILESIZE:命令历史文件大小;

2.1.2  查看及管理命令历史的命令:

history :

命令常用选项:

-c:清空缓冲区中的命令历史;

-d #: 删除历史中指定的命令,#代表命令历史列表中命令的号码;

-a: 把缓冲区中新的命令历史手动追加到命令历史文件中;

-r:将 histfiles 的内容读到当前shell的缓冲区中;

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

2.1.3  调用过去执行过的命令:

!#:调用历史中的第#条命令;

!!: 重复执行上一条命令

!string:调用历史中最近一个以string开头的命令;

2.1.4  调用过去执行过的命令的最后一个参数:

!$

ESC+.

2.2 命令补全(TAB键):

补全为两种,命令补全及路径补全;

命令补全时,命令的搜索路径为环境变量$PATH, 搜索后将结果以hash算法存入缓存中;

使用TAB键可以进行补全,两次TAB键将显示以输入的部分字符开头的所有命令,如果是路径补全,使用方法相同;

使用命令补全,可以提升命令输入的效率,也可以防止手动输入的失误。

2.3 命令展开:

~: 展开为当前用户的主目录;

~USERNAME:展开为指定用户的家目录;

{}:可承载一个以逗号分隔的列表,并其展开为多个路径;

2.4 命令的执行结果

命令执行成功:0

命令执行失败:1-255

bash使用特殊变量$?保存最近一条命令的状态结果;

查看命令执行的状态:

[root@localhost ~]# echo $?

2.5 命令别名

命令别名:命令的另一个引用名称;

命令别名涉及到的两个命令:

alias/unalias

alias: 查看所有已经定义别名;

alias ALIASNAME=COMMAND:定义别名;

unalias ALIASNAME:撤销定义的别名

例如:[root@localhost ~]# alias cls=clear    将clear设置一个命令别名为cls的引用

[root@localhost ~]# unalias cls      将设置的cls命令别名取消

两种设置可以使用 alias 命令查看效果

如果别名同原命令名,想直接执行原命令,则需使用\COMMAND

二  linux命令简介

1. linux命令分类:

1.1 内部命令(shell的内建命令)

1.2 外部命令 由第三方提供的工具类程序

1.3 使用type可以查看命令的类型

type命令的格式: type [COMMAND]

例如:[root@localhost ~]# type cd

cd is a shell builtin   显示此信息说明为shell的内建命令,显示结果如不是此信息则为外部命令

2. linux命令使用格式:

COMMAND [OPTION]... [ARGS]...

选项:用户启用或关闭命令的某个或某些功能;

短选项:-CHARACTER

-l, -h

Note: 多个短选项如果不合并,则彼此间要有空白字符分隔;可合并,合并时使用一个-引导,例如-lh;有些短选项自己也需要带参数,这叫选项参数;

长选项:--word

--human-readable, --help

参数:命令的作用对象;

向命令提供数据;

3. 外部命令路径位置查看工具:

which:

which [options] [--] programname [...]

--skip-alias:禁止列出别名

whereis COMMAND:

显示二进制程序、源码文件以及帮助手册的路径;

三  linux 命令的帮助

1. 命令的帮助参考

内部命令: # help COMMAND

外部命令:

(1) 命令自带的简单帮助

# COMMAND --help

# COMMAND -h

(2) 命令手册页

# man [CHPATER] KEYWORD

(3) 信息页

# info COMMAND

(4) 程序自身的帮助文档

README、INSTALL、Change

(5) 程序官方提供的Documentation

(6) 发行版官方提供的文档

(7) Google,baidu搜索网络提供的信息

2. man手册的使用

2.1 man手册有九种类型,如下:

man1, ..., man9

man1: 用户命令;

man2: 系统调用;

man3:C库调用;

man4: 设备文件及特殊文件;

man5: 配置文件格式;

man6: 游戏;

man7:杂项;

man8: 管理命令;

2.2 使用whereis COMMAND 可以查看此命令有哪几个类型的man文件

例如:[root@localhost ~]# whereis uniq

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

uniq 这个命令有man1 用户命令使用的帮助文件;

2.3 man手册的查看操作方法:

Space: 向文件尾部翻一屏;

b: 向文件首部翻一屏;

d: 向文件尾部翻半屏;

u: 向文件首部翻半屏;

Return:向文件尾部翻一行;

k或y:向文件首部翻一行;

#: 快速转到第#行;

1G:回到第一行;

G:到最后一行;

q: 退出;

文本搜索:

/keyword:从当前位置向尾部搜索

?keyword:从当前位置向首部搜索

n:与命令方向相同

N:与命令方向相反

2.4 其它帮助方法

info命令:

info COMMAND

程序自身的帮助文档:

/usr/share/doc/NAME-VERSION

程序官方文档:

发行版的官方文档:

四  linux目录管理

1. linux的目录结构

linux使用根文件系统(rootfs)对目录结构进行管理

linux的各发行版遵照LSB制定的FHS对目录结构进行组织,其目录的结构及目录的内容如下:

/boot: 引导文件存放目录,例如kernel(vmlinuz)、bootloader(grub, grub2);

/bin: binary,供用户使用的基本的命令;OS启动即会用到程序;

/sbin:管理类的基本命令;

/lib: 基本共享库;内核模块;

/lib64:x86_64系统的共享库;

/etc:配置文件目录;

/home/USERNAME: 普通用主目录的默认位置;

/root: 管理员的主目录;

/media:便携式移动设备;

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

/opt: 可选目录,第三方应用程序的默认安装位置;

/dev:devices,设备文件

b:block devices,random access

c: character deivces,linear access

/proc:

伪文件系统;用于输出内核与进程的相关信息;

/sys:

伪文件系统;

/srv:services,系统上运行服务用到中间数据;

/tmp:临时文件目录;

/usr:Universal Shared, Read-only data;

bin:保证系统提供基本功能;

sbin

lib

lib64

include: C程序的头文件;header files

share:结构化的独立数据

doc, man

local:现在常用的第三方程序的安装位置;

bin

sbin

lib

lib64

etc

share

/var:variable data files

cache:应用程序缓存数据

lib:应用程序的状态信息数据

local:专用于为/usr/local下的应用程序存储可变数据;

lock:锁文件

log:日志文件

opt:专用于/opt

spool:应用程序的数据池;

run:运行中的进程的相关数据;通常用守护进程 的pid文件;

/selinux

2. 目录管理命令简介

2.1 cd (change directory)改变目录

cd ~: 回主目录

cd ~USERNAME:切换指定用户的家目录

cd -: 回到上一次所在目录

例如:[root@localhost ~]# cd /etc/sysconfig/network-scripts/  切换当前目录为:/etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cd ~  将当前目录切换为用户的主目录

[root@localhost ~]# cd -      返回前一次的当前目录

2.2 pwd  显示当前工作目录

[root@localhost network-scripts]# pwd

/etc/sysconfig/network-scripts 是用户当前的工作目录

2.3 ls  列出指定目录中的文件及目录的信息

命令使用格式:ls [OPTION]... [FILE]...

-l:使用长格式显示目录及文件的信息

例如:[root@localhost network-scripts]# ls -l /usr/share/doc/

drwxr-xr-x.  2 root root 4096 Aug 21 03:55 abrt-2.0.8

d 为目录型文件

rwxr-xr-x. 权限

2  被硬链接的次数

root root  目录的属主和属组

4096  目录的大小(默认为字节)

Aug 21 03:55  被修改的时间戳

abrt-2.0.8  文件名

-d:显示目录自身属性(跟-l选项同时使用)

-h: human-readable(将列出的文件或目录大小以易读的格式显示,跟-l选项配合使用)

-a:显示所有文件,包括.开头的隐藏文件

.: 当前目录

..: 父目录

-r: reverse,逆序显示

-R: recusive,递归

例如:[root@localhost ~]# ls -lh /boot

-rw-r--r--. 1 root root 105K Jul 24 00:13 config-2.6.32-573.el6.x86_64

drwxr-xr-x. 3 root root 1.0K Aug 21 03:59 efi

drwxr-xr-x. 2 root root 1.0K Aug 21 04:23 grub

-rw-------. 1 root root  27M Aug 21 04:01 initramfs-2.6.32-573.el6.x86_64.img

-rw-------. 1 root root 5.2M Aug 21 04:23 initrd-2.6.32-573.el6.x86_64kdump.img

drwx------. 2 root root  12K Aug 21 03:51 lost+found

-rw-r--r--. 1 root root 202K Jul 24 00:14 symvers-2.6.32-573.el6.x86_64.gz

-rw-r--r--. 1 root root 2.5M Jul 24 00:13 System.map-2.6.32-573.el6.x86_64

-rwxr-xr-x. 1 root root 4.1M Jul 24 00:13 vmlinuz-2.6.32-573.el6.x86_64

2.4 mkdir 创建目录

命令使用格式:mkdir [OPTION] /PATH/TO/SOMEWHERE

常用选项:-p:创建父目录(如果创建目录时,上一级目录不存在,则可以使用-p进行递归创建)

-v: 显示创建过程

例如1:[root@localhost ~]# mkdir -pv /tmp/testmk/test1

mkdir: created directory `/tmp/testmk'

mkdir: created directory `/tmp/testmk/test1'

例如2: [root@localhost ~]# mkdir -pv /tmp/mkdirkz/{x,y}_{m,n}

mkdir: created directory `/tmp/mkdirkz'

mkdir: created directory `/tmp/mkdirkz/x_m'

mkdir: created directory `/tmp/mkdirkz/x_n'

mkdir: created directory `/tmp/mkdirkz/y_m'

mkdir: created directory `/tmp/mkdirkz/y_n'

使用bash的命令展开的特性,进行批量的目录创建

2.5 rmdir 删除目录

命令使用格式:rmdir /PATH/TO/SOMEWHERE

此命令只删除空目录

2.6 tree 以树形的方式列出指定目录结构

此命令如果系统中没有,则需要自行安装

命令使用格式:tree [OPTION]... [DIR]

选项: -d:只列出目录;

-L level: 列出指定目录的指定层数的文件和目录;

-f:以全路径的方式列出

-i:结合-f选项一起使用,列出目录结构,但不显示分支线

-p:显示权限

-s:显示文件大小

-h:以易懂的方式显示文件大小

五  linux文本文件操作

1. linux中文件的类型

计算机的一切资源在linux中都是文件,所以在linux中有如下几种文件类型:

-(f):普通文件

d: 目录文件

b: 块设备文件

c: 字符设备文件

l: 符号链接文件

p: 命名管道文件

s:套接字文件

2. linux中文件的时间戳类型

构成一个文件有两种数据,一种是存储在文件的数据本身,另一种则是元数据,元数据指的是文件的与属性相关的信息

每个文件都有三个时间戳:

atime: 文件最近一次被访问的时间;

mtime: 文件最近一次被“修改”的时间;

修改指的是文件的数据本身被修改

ctime:文件最近一次被“改变”的时间;

改变指的是文件的元数据发生的变化

任何一个除ctime之外的时间戳发生变化,ctime时间也会相应的发生变化,因为时间戳本身就是文件的元数据

3. 文件管理常用命令

cp  复制制定的文件或目录至指定位置

命令的使用格式:

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-r, -R: 递归复制;

-d: 不跟踪符号链接;

--preserve[=ATTR_LIST]:

mode, ownership, timestamps

context, links, xattr, all

-a: -dR --preseve=all

-i: interactive

-f: force

-v: 显示过程

当复制文件时,目标存在,为目录,则复制至目标目录下

目标不存在,则以此文件名命名文件,并复制源文件的内容

目标为文件且存在,则将内容覆盖为源文件的内容

,且源有多个,则目标必须为目录,如果目标目录中有相同的文件则覆盖

当复制目录时,目标存在为目录则叠加

目标为文件则不能成功

mv  移动制定的文件或者目录

如果移动的源目录及目标目录相同,则使用此命令的效果相同于重命名

命令使用格式:

mv [OPTION]... [-T] SOURCE DEST

mv [OPTION]... SOURCE... DIRECTORY

mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-i:交互式

-f:强制

rm  删除指定的文件及目录

命令使用格式

rm [OPTION]... FILE...

常用选项:

-r:

-f:

-i:

使用 rm -rf /  命令,系统默认会对/进行特殊的对待

touch 管理文件的时间戳

命令格式: touch [OPTION]... FILE... 默认将时间修改为当前系统时间

-a: 只更新atime

-m: 只更新mtime

-t STAMP:

[[CC]YY]MMDDhhmm[.ss]

-c: 不创建空文件

file 文件类型查看

命令格式:file /PATH/TO/SOMEWHERE

stat 显示文件及文件系统的状态

命令格式:stat [OPTION]... FILE...

4. 文本文件查看工具

cat和tac

cat [OPTION]... [FILE]...

-n:显示行数

-e: -vE

-E: 显示行结束符

-v:显示非打印字符

more, less

翻屏查看;

more [OPTIONS]... FILE...

-d: 显示翻页有退出提示

Space: 向后一屏;

Enter: 向后一行;

b: 向前一屏;

less [OPTION]... FILE...

文本搜索:

/KEYWORD 当前位置至文件尾部

?KEYWORD 当前位置至文件首部

n: 与命令方向相同的下一个;

N:与命令方向相反的前一个;

head和tail:

head [OPTION]... FILE

tail [OPTION]... FILE

-n # 显示文件的前/后行数

-# 非标准写法

-c #: 显示前/后#个字节

tail的专用选项:

-f: follow 跟进追加进文件的行,常用于监控日志

5. 文本文件的处理工具

wc:单词数目统计命令

命令使用格式:wc [OPTION]... FILE...

-l: 显示行数

-w: 显示单词数

cut:文件切割命令

cut OPTION... [FILE]...

-d: 指明分隔符;-d' ', -d:

-f:指明要显示的字段

#:

#-#:1-3

#,#: 1,3,7

sort:以文件中的字段为关键字,对文件进行排序

sort [OPTION]... [FILE]...

-r: 逆序

-f: 忽略字符大小写

-u: 排序后去重

-t CHAR: 指明分隔符

-k #: 字段

-n: 表示以数值大小排序

uniq:报告或者忽略重复的行

uniq [OPTION]... [FILE]...

-c: 显示每行重复的次数;

-d: 只显示重复过的行;

-u: 只显示不曾重复的行;

六  简单系统设置命令

1. 时间及日期

RTC:RealTime Clock

System Clock:系统时钟

date: 系统时间

clock, hwclock: 硬件时间

date:

date [OPTION]... [+FORMAT]:时间显示

FORMAT

%F

%D

%T

%H

%M

%S

date [MMDDhhmm[[CC]YY][.ss]]:时间设置

hwclock

-s: hctosys, 以硬件时钟为准,调整系统时间同硬件;

-w:systohc, 以系统时钟为准

cal:

cal [YEAR]

2. 查看当前系统被使用的信息

whoami

who

w

3. 关闭及重启计算机

关机或重启

关机:halt, poweroff, init 0, shutdown -h TIME

重启:reboot, init 6, shutdown -r TIME

shutdown

shutdown [OPTIONS...] [TIME] [WALL...]

-r: 重启

-h: 关机

--no-wall

-c

TIME:

+m: 相对时长之后执行相应操作;单位是分钟;

HH:MM 绝对时间

七  bash的基础特性(02)

(1) glob

文本名“通配”

*:匹配任意长度的任意字符;

?:匹配任意单个字符;

a*b: aab, ab, a123b;

a?b:

[]: 匹配指定范围内的任意单个字符;

[0-9]

[^]:匹配范围外的任意单个字符;

[^a-b]

字符集合:

[:lower:]  表示所有小写字母

[:upper:]  表示所有大写字母

[:alpha:]  表示所有的字母

[:alnum:]  字母和数字

[:digit:]  表示所有数字

[:space:]  表示空白字符

[:punct:]  表示所有标点符号

例如:ls /etc/[^[:alpha:]][:alpha:]*

ls /etc/[^a-zA-Z][a-zA-Z]*

表示为:显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录;

例如:[root@localhost tmp]# cp -r /etc/*.d /tmp/mageedu.com/

表示为:复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu.com目录中;

(2) 组合键

Ctrl+l:清屏

Ctrl+a: 切换至命令行首

Ctrl+e:切换至命令行尾

Ctrl+c:取消命令执行

Ctrl+u:删除光标所在处至行首的内容;

Ctrl+k: 删除光标所在处至行尾的内容;

(3) IO重定向和管道

程序:指令+数据

读入数据:Input

输出数据:Output

打开的文件都一个fd:file descriptor

标准输入:keyboard, 0, /dev/stdin

标准输出:monitor, 1, /dev/stdout

标准错误输出:monitor, 2, /dev/stderr

I/O重定向:

输入重定向

输出重定向:

COMMAND > NEW_POS, COMMAND >> NEW_POS

>:覆盖重定向;

>>:追加重定向;

set -C

如果覆盖重定向目标文件存在,则禁止执行;

>|

set +C

错误重定向:

2>:覆盖

2>>:追加

同时重定向标准输出流和错误输出流:

COMMAND > /path/to/file.out 2> /path/to/file.err

COMMAND > /path/to/file.out 2>&1

COMMAND &> /path/to/file.out

输入重定向:

<

tr命令: 将set1 替换成 set2

tr [OPTION]... SET1 [SET2]

-d: 删除字符 (删除字符时只有一个字符集合)

例如:[root@localhost tmp]# ls /tmp | tr a-z A-Z

表示为: 显示/tmp目录下的文件和目录,并且使用大写字母替换小写字母

Here Document:<<

cat >> /path/to/somefile << EOF

管道:

COMMAND1 | COMMAND2 | ...  :将COMMAND1的结果输送至COMMAND2的参数

转载于:https://blog.51cto.com/velen38/1688199

linux基础及常用命令的使用相关推荐

  1. Ubuntu学习日记--Lesson1:Linux基础和常用命令

    版权生命:文章系原创,转载请注明出处,多谢! 为了在Linux系统下用深度学习框架caffe,系统补习了一下Linux操作的知识,做些笔记,以备复习,或随时查看. Lesson1:Linux基础和常用 ...

  2. Linux基础之常用命令

    Linux基础之常用命令 01 | 切换目录命令:cd 1)cd opt 切换到opt目录 2)cd - 切换到上一层目录 3)cd / 切换到系统根目录 02 | 列出文件列表:ls ll 1)ls ...

  3. linux基础知识-常用命令,收藏。

    前言 学前须知 适用人群:开发.测试.运维等等 文档用途:linux入门学习.命令备忘录.面试复习 学习途径:书籍(鸟哥的Linux私房菜).视频:慕课网等.百度谷歌搜索.qq群等 学习环境:虚拟机V ...

  4. linux命令大全 笔试,Linux基础及常用命令(笔试面试必备)

    一. 基本使用 X window与文本模式的切换. 通常我们也称文本模式为终端机接口, terminal 或 console喔!Linux默认的情况下会提供六个Terminal来让使用者登陆,切换的方 ...

  5. Linux基础之常用命令篇

    一.命令的基本格式 [root@localhost~] root为用户名 -表示当前所在位置 localhost主机名 '#'超级用户 '$" 普通用户 命令的基本格式: 命令 [选项] [ ...

  6. linux 基础及常用命令

    红帽Linux 5.5 for x86 服务器版  安装码 Red Hat Enterprise Linux Server 5.5 for x86 服务器: * Red Hat Enterprise ...

  7. Linux基础和常用命令

    经常使用的命令: #查看端口被占用情况 netstat -tunlp|grep 22 #查看java进程 ps -ef|grep java #压缩前端工程 rar a -ep1 ./update/wi ...

  8. linux查询配置基础命令,Linux查看系统配置常用命令

    Linux查看系统配置常用命令 系统 # uname -a 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue 查看操作系统版本 # cat /proc/cpuinfo 查看 ...

  9. Day 01嵌入式学习之Linux基础知识和命令操作

    学习嵌入式开发的随堂笔记 Day 01嵌入式学习之linux基础知识和命令操作 1.英文: read:读,r字母 write:写,w字母 execute:执行,运行,x字母 directory:目录, ...

最新文章

  1. ROS安装配置相关问题
  2. Spring EL运算符实例
  3. 开源C# Winform控件库《SunnyUI》强力推荐
  4. 方法参数名称和Spring
  5. org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved
  6. 计算机属性桌面打不开怎么办,win10电脑桌面图标属性打不开如何解决_win10无法打开桌面图标属性面板解决步骤...
  7. 考研初试将近,收好这份准备清单,祝你一战成硕
  8. [51nod1084]矩阵取数问题 V2
  9. 蚁群算法求TSP问题matlab代码
  10. 轻度体验威马Living Pilot智行辅助系统:前期刺激,后期依赖
  11. java 设置全局热键_第三方包jintellitype实现Java设置全局热键
  12. VASSISTX在vs里面应用的快捷键
  13. 将html内容转换成word文档,一招教你将网页内容转化为word文档保存
  14. 二重积分计算(几何法)
  15. imo free video calls and text(IMO免费视频通话)
  16. 喜欢吃鱼的朋友一定要存哦
  17. 电商运营之业务数据报告
  18. 写在汶川地震发生之后的思考
  19. Cmder | 一款命令行增强工具
  20. 关于阻止PROE联网的一些想法!

热门文章

  1. android qq分享自动弹出,史上最详细Android集成QQ,微信,微博分享(不要第三方)持续更新中...
  2. VHDL硬件描述语言
  3. 机器人学习--电子指南针定位导航
  4. MyEclipse 10(汉化版)安装教程
  5. 人工智能 | 增强小目标检测(Augmentation for small object detection)
  6. Qt学习(十):QT连接mysql(增加、删除、遍历)
  7. 【MySQL随手记】字符集编码的查看、指定与修改语句
  8. 一些常规形几何形状的绘制和效果填充(一)
  9. html5 svg 拖拽,SVG拖动
  10. 目标检测(R-CNN、Fast R-CNN、Fater R-CNN)