超全整理!Linux shell及常用36类命令汇总(一)

简介: SQL数据库开发

使用Linux shell是一些程序员每天的基本工作,但我们经常会忘记一些有用的shell命令和技巧。当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务。需要注意一点的是,有些用法需要在你的linux系统里安装额外的软件。

shell是一种命令解释器,它提供了用户和操作系统之间的交互接口。shell是面向命令行的,而 X Window 则是图形界面。你在命令行输入命令,shell进行解释,然后送往操作系统执行。

shell可以执行 Linux 的系统内部命令,也可以执行应用程序。你还可以利用shell编程,执行复杂的命令程序。

Linux 提供几种shell程序以供选择。常用的有 Bourne ( b s h )、C( c s h )和Korn( k s h ),各个shell都能提供基本的功能,又有其各自的特点。

Bourne shell

Bourne shell是由Steven Bourne 编写的,是UNIX 的缺省shell。Bourne shell的shell编程能力很强。但它不能处理命令的用户交互特征。bash 是Bourne shell的增强版。

Cshell

Cshell是由加利福尼亚大学伯克利分校的Bill Joy编写的。它能提供Bourne shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。很多人认为, C shell的编程能力不如Bourne shell,但它的语法和C语言类似,所以C程序员将发现C shell很顺手。tcsh 是Cshell的增强版本和Cshell完全兼容。

Korn

K o r nshell是由Dave Korn 编写的。Korn shell融合了C shell和Bourne shell的优点,并和Bourne shell完全兼容。 Korn shell的效率很高,其命令交互界面和编程交互界面都很不错。Public Domain Korn shell( p d k s h )是Korn shell的增强版。

bash

bash 是大多数L i n u x系统的缺省shell。它克服了Bourne shell的缺点,又和Bourne shell完全

兼容,B a s h有以下的特点:

1 补全命令行。 当你在bash 命令提示符下输入命令或程序名时,你不必输全命令或程序

名,按Tab 键,b a s h将自动补全命令或程序名。

2 通配符。 在b a s h下可以使用通配符 * 和?。*可以替代多个字符,而?则替代一个字符。

3 历史命令。 bash 能自动跟踪你每次输入的命令,并把输入的命令保存在历史列表缓冲区。

缓冲区的大小由HISTSIZE 变量控制。当你每次登录后,home 目录下的 .bash_history 文

件将初始化你的历史列表缓冲区。你也能通过history 和fc 命令执行、编辑历史命令。

4别名。 在b a s h下,可用alias 和unalias 命令给命令或可执行程序起别名和清除别名。这

样你可以用自己习惯的方式输入命令。

进入shell

Linux 启动后,给出 login 命令,等待用户登录。

Login: <输入用户名>

Password: <输入密码>

如果是正确的用户名和密码,那么你就会进入Linux 的shell, shell给出命令提示符,等待

你输入命令。使用 l o g o u t命令退出shell。

shell的常用命令


1、更改帐号密码

语法:passwd

Old password: <输入旧密码>

New password: <输入新密码〉

Retype new password: <再输入一次密码>

2、联机帮助

语法: man 命令

例如:

man ls

3、远程登录

语法:rlogin 主机名 [-l 用户名]

例如:

rlogin aa          远程登录到工作站 aa 中。

rlogin aa -l user  使用 user 帐号登录到工作站 aa 中。

语法:telnet 主机名 或 telnet IP地址

例如:

telnet aa

telnet 130.129.21.250

3、文件或目录处理

列出文件或目录下的文件名。

语法: ls [-atFlgR] [name]

ls  列出目前目录下的文件名。

ls -a 列出包括以 .开始的隐藏文件的所有文件名。

ls -t 依照文件最后修改时间的顺序列出文件名。

ls -F 列出当前目录下的文件名及其类型。以/ 结尾表示为目录名,以* 结尾表示为

可执行文件,以@ 结尾表示为符号连接。

ls -l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称。

ls -lg 同上,并显示出文件的所有者工作组名。

ls -R 显示出目录下以及其所有子目录的文件名。

4、改变工作目录

语法:cd [name]

name:目录名、路径或目录缩写。

例如:

cd  改变目录位置至用户登录时的工作目录。

cd  dir 改变目录位置至d i r目录下。

cd  user  改变目录位置至用户的工作目录。

cd  .. 改变目录位置至当前目录的父目录。

cd  ../user 改变目录位置至相对路径 user 的目录下。

cd  /../.. 改变目录位置至绝对路径的目录位置下。

cd  改变目录位置至用户登录时的工作目录。

5、复制文件

语法: cp [-r] 源地址 目的地址

例如:

cp file1 file2 将文件 file1 复制成 f i l e 2。

cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 f i l e 1。

cp /tmp/file1 . 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 f i l e 1。

cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名为f i l e 2。

cp -r dir1 dir2 复制整个目录。

6、移动或更改文件、目录名称

语法:mv 源地址 目的地址

例如:

mv file1 file2 将文件 f i l e 1更名为 f i l e 2。

mv file1 dir1 将文件 f i l e 1移到目录 dir1 下,文件名仍为 f i l e 1。

mv dir1 dir2 将目录 dir1 更改为目录 d i r 2。

7、建立新目录

语法: mkdir 目录名

mkdir dira  建立一新目录 d i ra。

8、删除目录

语法: rmdir 目录名 或 rm 目录名

例如:

rmdir dir1 删除目录 d i r 1,但 dir1 下必须没有文件存在,否则无法删除。

rm -r dir1 删除目录 d i r 1及其子目录下所有文件。

9、删除文件

语法: rm  文件名

例如:

rm  file1 删除文件名为 file1 的文件。

rm  file? 删除文件名中有五个字符且前四个字符为file 的所有文件。

rm  f* 删除文件名中以 f 为字首的所有文件。

10、列出当前所在的目录位置

语法: p w d

11、查看文件内容

语法: cat 文件名

例如:

cat file1 以连续显示方式,查看文件名 file1 的内容。

12、分页查看文件内容

语法: more 文件名 或 cat 文件名 | more

例如:

more file1 以分页方式查看文件名 file1 的内容。

cat file1 | more 以分页方式查看文件名 file1 的内容。

相关文章
|
8天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
84 5
|
8天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
35 4
|
5天前
|
运维 监控 网络协议
|
6天前
|
监控 Linux Shell
|
8天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
22 3
Linux | Rsync 命令:16 个实际示例(下)
|
2天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
6天前
|
Linux 开发工具 Perl
Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
【10月更文挑战第20天】Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
20 4
|
10天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
Unix Shell Linux
|
3月前
|
Shell Linux 程序员
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?