Linux的基础入门和基本命令

什么是shell?

 

shell 是一个命令语言解释器(command-language interpreter)。 拥有自己内建的 shell 命令集。此外,shell也能被系统中其他有效的Linux 实用程序和应用程序(utilities and application programs)所调用。

不论何时你键入一个命令,它都被Linux shell所解释。一些命令,比如打印当前工作目录命令(pwd), 是包含在Linux bash内部的(就象DOS的内部命令)。其他命令,比如拷贝命令(cp)和移动命令(rm), 是存在于文件系统中某个目录下的单独的程序。而对用户来说,你不知道(或者可能不关心) 一个命令是建立在shell内部还是一个单独的程序。

Shell的分类

  • bash:bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,也是很多linux版本默认的shell。
  • csh:C shell 使用的是“类C”语法,借鉴了 Bourne shell 的许多特点,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该shell其实是指向/bin/tcsh这样的一个shell,也就是说,csh其实就是tcsh。
  • ksh:Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。由Eric Gisin编写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。
  • zsh:Z shell 是 Korn shell 的一个增强版本,是Linux最大的shell之一,由Paul Falstad完成,共有84个内部命令。如果只是一般的用途,是没有必要安装这样的shell
  • ash:ash shell是由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令,因而使用起来很不方便。
  • tcsh:TC shell 是 C shell 的一个增强版本,与 C shell 完全兼容。

基本命令:

基本命令格式:

command [options] [arguments]

· command:命令

· options:--单词 或 -单字

· arguments:参数,有时候选项也带参数。

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

· 无任何特殊符号 代表必选参数

· [] 表示是可选的;

· <> 表示可变选项,一般是多选一,而且必须是要选其一。

· x|y|z 多选一,如果加上[],可不选。如果加上{},必选其一。

· -abc 多选,如果加上[],可不选。

echo

在终端上打印字符串到标准输出。

Usage: echo [-neE] [arg ...]

常用参数:

-e: 启用特殊转义字符(\t, \b, \n等)

-n: 行末不添加换行符

用法示例:

$ echo hello world                                # hello world

$ echo -e '\033[32;49;1mhello world\033[39;49;0m' # 自己试试看这个结果是什么?

ls

ls的作用为显示指定目录的文件。

Usage: ls [OPTION]... [FILE]...

常用参数:

-l: 重要参数,以长列表形式显示

-a: 列出所有文件,包含隐藏文件

-R: 递归目录列出文件

-d: 显示目录本身,而非目录下文件

用法示例

$ ls                    # 列出当前目录下所有非隐藏文件

$ ls .                  # 同上

$ ls -a                 # 列出当前目录下所有文件

$ ls /tmp/              # 列出指定目录下文件

$ ls /var/log/boot.log  # 列出指定文件

cd

切换当前的工作目录

Usage: cd [-L|[-P [-e]] [[email protected]]] [dir]

用法示例:

$ cd /path/       # 跳转到指定目录

$ cd              # 跳转到家目录

$ cd ~            # As above

$ cd ~USERNAME    # 跳转到指定用户的家目录

$ cd -            # 跳转到上一次所在目录

cat

打开文件

Usage: cat [OPTION]... [FILE]...

常用参数:

-n: 显示行号

用法示例:

$ cat file1 file2 file3    # 在当前终端下依次打开3哥文件

$ cat -n file1              # 打开单个文件,并显示行号

倒序打开文件可以用命令tac,即cat反向写

pwd

显示当前工作目录

pwd: pwd [-LP]

用法示例:

$ pwd   # 打印当前绝对路径


通配符

通配符的作用是用于模糊查询时通配文件名中某些不确定的字符。

Bash中的通配符只有3个: *, ?, []


通配符


作用


?


匹配任意单个字符


*


匹配任意长度任意字符


**


匹配任意级别目录(bash 4.0以上版本支持,shopt -s globstar)


[]


匹配一个单字符范围,如[a-z],[0-9]

[]的特殊用例:

[]:匹配范围

[^]:排除匹配范围

[:alnum:]:所有字母和数字

[:alpha:]:所有字母

[:digit:]:所有数字

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

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

[:blank:]:空白字符和TAB制表符

[:space:]:包括空白字符、TAB制表符(\t)、换页(\f)

[:cntrl:]:所有控制字符

[:graph:]:可打印并可看到的字符。空格是可打印的,但是不是可看到的。

[:print:]:所有可打印字符

[:punct:]:所有标点符号,非字母、数字、控制字符和space字符。

[:xdigit:]:十六进制数的字符。

Bash组合键

Bash有一些快捷组合键,灵活使用这些组合键可以让命令行操作事半功倍。

常用的快捷键:

移动光标

· alt+b: 前移一个单词

· alt+f: 后移一个单词

· ctrl+a: 移到行首(a是首字母)

· ctrl+e: 移到行尾(end)

· ctrl+x: 行首到当前光标替换

编辑命令

· alt+.: 粘帖最后一次命令最后的参数(通常用于mkdir long-long-dir后, cd配合着alt+.)

· ESC, .: 同上

· alt+d: 删除当前光标到临近右边单词开始

· ctrl+w: 删除当前光标到临近左边单词结束

· ctrl+u: 删除光标左边所有

· ctrl+k: 删除光标右边所有

· ctrl+l: 清屏(相当于clear命令)

· ctrl+shift+c: 复制(相当于鼠标左键拖拽)

· ctrl+shift+v: 粘贴(相当于鼠标中键)

其它

· shift+PageUp: 向上翻页

· shift+PageDown: 向下翻页

· ctrl+r: 进入历史查找命令记录, 输入关键字。 多次按返回下一个匹配项

· ctrl+c: 发送Interrupt信号,常用于取消未输入完整的命令,或中断当前正在执行的命令

· ctrl+d: 发送EOF信号,常用于登出交互式shell,或结束STDIN

· ctrl+z: 给当前正在运行的命令发送SIGTSTP,将导致被后台挂起

别名

别名用于简化某些常用的命令及参数

列出当前使用的别名:

alias

定义一个别名:

alias new_alias="command args"

Linux的管道符(|)

管道符号,是unix功能强大的一个地方,符号是一条竖线:"|",

用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2,

例如:
ls -l | more

该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。

又如 rpm -aq | less

软链接和硬链接

硬链接(hard link):文件A是文件B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。

软链接(soft link):A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

硬链接:ln 源文件名 链接名

软链接:ln -s 源文件名 链接名

tr命令

tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符。

tr(选项)(参数)
-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符;
-s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;
-t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。
[:alnum:]:字母和数字
[:alpha:]:字母
[:cntrl:]:控制(非打印)字符
[:digit:]:数字
[:graph:]:图形字符
[:lower:]:小写字母
[:print:]:可打印字符
[:punct:]:标点符号
[:space:]:空白字符
[:upper:]:大写字母
[:xdigit:]:十六进制字符

原文地址:http://blog.51cto.com/11798202/2060934

时间: 2024-11-09 23:00:01

Linux的基础入门和基本命令的相关文章

Linux系统基础入门

1.描述计算机的组成及其功能 计算机有五大组成部分:运算器,控制器,存储器,输入设备和输出设备. 运算器是负责进行数据加工和数据运算的:一般在集成在cpu内 控制器是负责进行计算机各设备的控制:一般集成在cpu内 存储器是负责记录存储数据用的:例如硬盘,内存等 输入设备是负责计算机接受用户来自于其他设备指令的:例如键盘,鼠标等 输出设备是负责输出计算机处理结果的设备:例如显示器等 2.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. Linux有三大发行版 slackware其中

linux零基础入门总结

啊,notepad++贴过来怎么对齐格式这么糟糕呢? #root用户 $普通用户 linux命令 清屏clear翻页清屏  CRT中ctrl+L reset"清空 CRT中不起作用" 创建用户useradd a创建用户名为a的用户 设置密码passwd a设置用户a的密码(输入密码时内容显示) 切换用户su        切换到root,需密码 su - a切换到用户a,无需密码 pwd当前所在目录 主机名hostname    查看主机名 hostname xxxx临时设置主机名为x

Linux自学笔记(3):Linux系统基础入门

登录:root/manager startx & 终端:用户与主机交互必然用到设备: 物理终端:直接接入主机的显示器和设备: 虚拟终端:附加在物理设备上的软件方式实现的终端: 模拟终端:图形界面下的打开命令行接口,基于ssh协议或telnet协议等远程打开的界面: 交互式接口,启动终端后,在终端设备附加一个交互式程序:GUI:图形界面x protocol ,windows manager ,dasktop desktop GNONE (C,gtk) KDE(C++,pt) XFCE(轻量级桌面)

Linux操作系统基础解析之(四)——Linux基本命令剖析(1)

Linux操作系统自从出现以来,就备受关注.但是人们往往会有这样的一个印象:Linux比Windows难.为什么好多人都会有这样的想法呢?很简单,因为Windows是在更早的时候,甚至是大多数国人都没有认识到计算机的时候就已经被安装到X86架构的计算机上了.Microsoft公司寻求Intel公司的技术支持,并且建立合作之后,PC的市场就几乎被这两家公司垄断了.所以,很多人刚刚开始接触并逐渐学会使用计算机,Intel的X86架构的主机,而且这个主机上一般安装的都是Windows操作系统.因此,大

Linux及Arm-Linux程序开发笔记(零基础入门篇)

Linux及Arm-Linux程序开发笔记(零基础入门篇)  作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html 目录 一.Arm-Linux程序开发平台简要介绍... 3 1.1程序开发所需系统及开发语言... 3 1.2系统平台搭建方式... 4 二.Linux开发平台搭建... 5 2.1安装虚拟工作站... 5 2.2安装Linux虚拟

Centos Linux基础入门知识类

Centos Linux基础入门知识类 1.1Linux终端介绍 1.2基本命令的使用:ls.pwd.cd. 1.3 查看系统和BIOS硬件时间. 1.4 Linux如何获得帮助,Linux关机命令:shutdow.init等. 1.5 YUM本地源配置与开机自动挂载光盘 前言: 很多学习Linux的同学或多或少都知道,Linux是一个命令行下的操作系统,因为线上环境基本上不会使用图形化安装,所以该系统基本都是通过命令来完成对系统的操作,本人将为大家介绍一些简单的基础命令. 单词整理: term

《信息安全系统设计基础》第一次实验报告--Linux 基础入门

<信息安全系统设计基础>第一次实验报告--Linux 基础入门 北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础 班级:1352  姓名:孙小博  学号:20135217 成绩:            指导教师:娄嘉鹏      实验日期:2015.9.20 实验密级: 无     预习程度:           实验时间:12小时 仪器组次:17     必修/选修:必修   实验序号:01 实验目的与要求: 1. 学会安装使用Linux操作系统

Linux基础入门学习笔记20135227黄晓妍

学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等 4. 熟练应用“搜索”进行举一反三的学习 二.学习资源 1. 课程资料:https://www.shiyanlou.com/courses/413   实验一,课程邀请码:W7FQKW4Y 2. Li

Linux 基础入门----推荐课程

Linux 基础入门课程:https://www.shiyanlou.com/courses/1 很好的一门Linux基础课,精炼.简洁!推荐! 课程内容: 第1节 Linux 系统简介 https://www.shiyanlou.com/courses/1/labs/1/document 第2节 基本概念及操作 https://www.shiyanlou.com/courses/1/labs/2/document 第3节 用户及文件权限管理 https://www.shiyanlou.com/