您的位置:首页 > 运维架构 > Linux

Linux常用命令/工具(一)

2016-03-22 23:38 471 查看
本文简单介绍如下Linux命令或工具的功能,具体使用方法请参考工具或命令的文档:
1.使用命令(查看命令帮助文档) 2.用户与权限 3.日常命令 4.目录与文件 5.重定向与管道
6.进程相关 7.网络相关 8.shell环境 9.键盘快捷命令
10.通配符 11.shell命令展开

使用命令

man —— 显示命令手册页

例如:man adduser

apropos —— 通过关键字搜索一系列适合的命令

注:man 命令加上”-k”选项, 和 apropos 完成一样的功能

info —— 显示命令 info

例如:info adduser

which —— 显示一个可执行程序的位置,shell内部命令无法显示

whatis —— 显示一个命令的简洁描述

help —— 得到 shell 内部命令的帮助文档

例如:help cd

--help —— 显示命令用法信息,常用于外部命令

例如:adduser --help

type —— 显示命令的类型,说明怎样解释一个命令名,可判断内部命令和外部命令

alias —— 创建/显示命令别名

创建别名:alias name='string'

显示别名:alias

unalias —— 删除别名

用户与权限

id —— 显示用户身份号

useradd —— 新建用户

格式:useradd [options] username

例如:useradd -d /home/zhao -mzhao 新建zhao用户并创建主目录/home/zhao

userdel —— 删除用户及相关文件

格式:userdel [-r] username

groupadd —— 新增用户组

格式:groupadd [-g gid] [-o]] [-r] [-f] groupname

passwd —— 修改密码

修改当前用户密码:passwd

修改其他用户密码(root):passwd username

忘记root密码解决方法

1.开机按e键(或任意键)进入grub选项

2.在grub选项菜单按e进入编辑模式

3.选择kernel那行按e进行编辑

4.在kernel内容最后添加 1 或 single

5.按回车保存修改后按b启动系统

6.进入单用户模式用passwd修改密码

chmod —— 更改文件模式/权限

umask —— 设置默认的文件权限

su —— 以另一个用户的身份来运行 shell

sudo —— 以另一个用户的身份来执行命令

chown
—— 更改文件所有者


格式:chown [owner][:[group]] file...

chgrp —— 更改用户组所有权

日常命令

echo—— 显示一行文本

clear —— 清空屏幕

history —— 显示历史列表内容

date —— 显示系统当前时间和日期

cal —— 它默认显示当前月份的日历

df —— 查看磁盘剩余空间的数量

free —— 显示空闲内存的数量

shutdown —— 关机或重启系统

halt —— 关闭系统


目录与文件

pwd — 打印出工作目录名(即当前所在目录名)

cd — 更改/跳转工作目录,可使用绝对路径(以根目录开始)或相对路径(以工作目录开始)

相对路径用两个特殊符号表示:“.” 表示工作目录,“..”表示父目录。跳转到父目录可使用“cd ..”,跳转到工作目录下的A目录可使用“cd ./A”(通常“./”可省略)
快捷键:“cd”更改工作目录到家目录,“cd -”更改工作目录到先前的工作目录,“cd ~user_name”更改工作目录到用户家目录

ls — 列出一个目录包含的文件及子目录

file — 确定文件类型

cp — 复制文件和目录

mv — 移动/重命名文件和目录

mkdir — 创建目录

touch – 设置或更新文件的访问,更改,和修改时间,若参数是一个不存在的文件,则会创建一个空文件

stat – 显示文件或文件系统状态

rm — 删除文件和目录,注意在跟通配符使用时小心删除整个目录,可先用ls检查一下再用rm代替ls删除

ln — 创建硬链接和符号链接


重定向与管道

cat —— 读取并复制文件内容到标准输出

常用以显示简短的文本文件或连接多个文件;不带参数的cat从标准输入读取内容,输入Ctrl+d发送EOF结束输入

less —— 浏览文本文件内容,若文件内容多于一页,可上下滚动文件。按下“q”键退出 less 程序

wc —— 打印文件中换行符,字,和字节个数

head —— 输出文件第一部分

tail —— 输出文件最后一部分,使用"-f"选项能实时浏览文件内容

> —— 重定向标准输出

注: 若目标文件存在,则重定向输出会清空并重写文件。

noclobber —— 避免文件的重写:set -o noclobber 开启,set +o noclobber关闭。

< —— 重定向标准输入

2> —— 重定向标准错误,

ls > output.txt 2>&1 —— 重定向标准输出和错误

&> —— 重定向标准输出和错误

>> —— 向文件追加标准输出

/dev/null —— 位存储桶,使数据消失,cat /dev/null > a(将a变为空文件且不改变文件所有者和权限)

| —— 管道(与重定向比较简化输入,无需中间临时文件,效率更高)

过滤器:ls -l | sort | less (先将ls的输出排序再输出给less,此时sort相当于过滤器)


tee —— 从 Stdin 读取数据,并同时输出到 Stdout 和文件

例如:who | tee who.out | grep root (who的输出通过管道变为tee的标准输入,tee将标准输入复制给文件who.out同时也复制到标准输出,tee的标准输出又通过管道变为grep的标准输入)

sort —— 排序文本行

uniq —— 报道或省略重复行,常与sort一起使用

grep —— 打印匹配行


进程

ps—— 报告当前进程快照

top —— 动态查看进程

命令后面加"&"字符 —— 后台运行

jobs —— 列出活跃的任务

Ctrl+c —— 发出中断终止一个进程

Ctrl+z —— 停止一个进程

bg —— 把一个任务放到后台执行

fg —— 把一个任务放到前台执行

kill —— 给一个进程发送信号,默认发送终止信号,格式:kill [-signal] PID

killall —— 给匹配的多个进程发送信号,格式:killall [-u user] [-signal] name...

pstree —— 输出一个树型结构的进程列表。

vmstat —— 输出一个系统资源使用快照,包括内存,交换分区和磁盘 I/O。

xload —— 一个图形界面程序,可以画出系统负载的图形。

tload —— 与 xload 程序相似,但是在终端中画出图形。使用 Ctrl-c,来终止输出。


网络系统

ping—— 发送 ICMP ECHO_REQUEST 软件包到网络主机

traceroute/tracepath —— 打印到一台网络主机的路由数据包

netstat —— 打印网络连接,路由表,接口统计数据,伪装连接,和多路广播成员

ftp —— 因特网文件传输程序

wget —— 非交互式网络下载器

ssh —— OpenSSH SSH 客户端(远程登录程序),ssh带有两程序scp(安全复制)和sftp


shell环境

printenv - 打印部分或所有的环境变量

set - 显示shell变量和环境变量,设置 shell 选项

export — 导出环境变量,让随后执行的程序知道。


登录 shell 会话的启动文件

/etc/profile:应用于所有用户的全局配置脚本。

~/.bash_profile: 用户私人的启动文件。可以用来扩展或重写全局配置脚本中的设置。

~/.bash_login:如果文件 ~/.bash_profile
没有找到,bash 会尝试读取这个脚本。

~/.profile: 如果文件 ~/.bash_profile 或文件 ~/.bash_login 都没有找到,bash 会试图读取这个文件。 这是基于
Debian 发行版的默认设置,比方说 Ubuntu。

非登录 shell 会话的启动文件

/etc/bash.bashrc:应用于所有用户的全局配置文件。

~/.bashrc:用户私有的启动文件。可以用来扩展或重写全局配置脚本中的设置。

除了读取以上启动文件之外,非登录 shell 会话也会继承它们父进程的环境设置,通常是一个登录 shell。

source:强迫bash重新读取修改过的配置文件,如source .bashrc

键盘命令

光标移动命令

Ctrl-a:移动光标到行首。

Ctrl-e:移动光标到行尾。

Ctrl-f:光标前移一个字符;和右箭头作用一样。

Ctrl-b:光标后移一个字符;和左箭头作用一样。

Alt-f:光标前移一个字。

Alt-b:光标后移一个字。

Ctrl-l:清空屏幕,移动光标到左上角。clear 命令完成同样的工作。

文本编辑命令

Ctrl-d:删除光标位置的字符。

Ctrl-t:光标位置的字符和光标前面的字符互换位置。

Alt-t:光标位置的字和其前面的字互换位置。

Alt-l:把从光标位置到字尾的字符转换成小写字母。

Alt-u:把从光标位置到字尾的字符转换成大写字母。

剪切和粘贴命令

Ctrl-k:剪切从光标位置到行尾的文本。

Ctrl-u:剪切从光标位置到行首的文本。

Alt-d:剪切从光标位置到词尾的文本。

Alt-Backspace:剪切从光标位置到词头的文本。如果光标在一个单词的开头,剪切前一个单词。

Ctrl-y:把剪切环中的文本粘贴到光标位置。

"Tab"键---自动补全

自动补全命令

Alt-?:显示可能的自动补全列表。在大多数系统中,你也可以完成这个通过按
两次 tab 键,这会更容易些。

Alt-*:插入所有可能的自动补全。当你想要使用多个可能的匹配项时,这个很有帮助。

历史命令

Ctrl-p:移动到上一个历史条目。类似于上箭头按键。

Ctrl-n:移动到下一个历史条目。类似于下箭头按键。

Alt-<:移动到历史列表开头。

Alt->:移动到历史列表结尾,即当前命令行。

Ctrl-r:反向递增搜索。从当前命令行开始,向上递增搜索。

Alt-p:反向搜索,不是递增顺序。输入要查找的字符串,然后按下 Enter,执行搜索。

Alt-n:向前搜索,非递增顺序。

Ctrl-o:执行历史列表中的当前项,并移到下一个。如果你想要执行历史列表中一系列的命令,这很方便。

历史展开命令

!!:重复最后一次执行的命令。可能按下上箭头按键和 enter 键更容易些。

!number:重复历史列表中第 number 行的命令。

!string:重复最近历史列表中,以这个字符串开头的命令。

!?string:重复最近历史列表中,包含这个字符串的命令。

通配符

*:匹配任意多个字符(包括零个或一个)

?:匹配任意一个字符(不包括零个)

[characters]:匹配任意一个属于字符集中的字符

[!characters]:匹配任意一个不是字符集中的字符

[[:class:]]:匹配任意一个属于指定字符类中的字符

字符类

[:alnum:]:匹配任意一个字母或数字

[:alpha:]:匹配任意一个字母

[:digit:]:匹配任意一个数字

[:lower:]:匹配任意一个小写字母

[:upper]:匹配任意一个大写字母

shell命令展开

1.路径名展开,如:echo D*、echo *s、echo [[:upper:]]*、echo /usr/*/share

2.波浪线展开,如:展开家目录echo ~、echo ~foo

3.算术表达式展开,格式:$((expression)),如:echo $((2 + 2))、echo $(((5**2) * 3))

4.花括号展开,如:echo Number_{1..5}、echo {Z..A}、echo a{A{1,2},B{3,4}}b

5.参数/变量展开,如:echo $USER,

printenv-----查看有效的变量列表

6.命令替换:把一个命令的输出作为一个展开模式来使用,如:echo $(ls)、ls -l $(which cp)、file $(ls /usr/bin/* | grep zip)

7.在双引号中,参数展开,算术表达式展开,和命令替换仍然有效;单引号会禁止所有的展开

参考:《The Linux Command Line》、《RedHatLinux指南:基础与系统管理篇》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: