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

Linux基本命令使用

2014-02-23 11:45 375 查看
命令的基本使用,命令帮助的获取,目录树

cd\ pwd, history, mkdir, rmdir, rm, cp, mv, touch, stat

目录管理
文件操作

文件编辑

系统管理

网络管理

文件查找

文本查找

工作目录,当前目录:
基名:/usr/share/doc = doc
/: 根目录
路径分隔符
bash: ~:用户的家目录, home directory, 主目录
~USERNAME: 引用另外一个用户的家目录

bash: 工作环境,环境变量
变量:变量名称,存储地址,内存空间, 变量类型
NAME=Jerry
PS1, PATH

PATH: 定义命令搜索路径

目录:

shell命令有两类:
外部命令:在某目录有一个与命令同名的可执行文件
内建命令:shell程序自身附带的命令
登录提示符:跟终端关联

VGA
Serial
Console

终端类型:
物理终端:控制台
串行终端:
虚拟终端:Ctrl+Alt+F[1-6]
伪终端:远程登录的终端、图形界面下的终端

# startx -- :1 &

快捷键:
Ctrl+Shift+t: 创建新的标签页
Ctrl+PageUp/PageDown: 切换标签页
Ctrl+Shift+c: 复制选中的内容
Ctrl+Shift+v: 粘贴
Shift+PageUp/PageDown: 上下翻动屏幕

bash的命令历史功能:

# history
显示此前的命令

内部命令的帮助:
# help COMMAND
[]:可省略之内容
<>: 必须提供
a|b: 二选一,或多选一
...: 前面的内容可重复出现多次

Linux命令的语法格式:

COMMAND options arguments

选项:定义命令的执行特性
长选项:--引导,后跟单词,如--help, --verbose
短选项:-引导,后跟单个字符,如-h, -l, -a
多个短选项可以组合:-h, -l, -a = -hla
有些选项也可以带参数
参数:定义命令的作用对象

ls -l -a -h /etc
ls -lah /etc

命令历史可以保存:至文件
~/.bash_history

!#: 执行历史中的第#条;
!-#: 执行历史中的倒数第#条;
!!: 命令历史中的最后一条命令;
!string: 执行命令历史中最近一条以“string”开头的命令;
如何获取命令帮助:
内建命令:help COMMAND
外部命令:
1、manual: 使用手册, man COMMAND
2、info: 信息页, info COMMAND
3、简要使用帮助: COMMAND --help
4、官方文档:google
5、额外的文档:README、INSTALL、ChangeLog
/usr/share/doc/ls-VERSION
6、发行版官方文档,http://www.redhat.com/docs/

man手册:分章节
程序:配置文件(用于定义程序的工作特性)

对于不同类别的命令或配置等的手册位于不同的章节中;
1:用户命令;
2:系统调用;
3:库调用;
4:特殊文件,设备文件;
5:文件格式,即配置文件;
6:游戏;
7:杂项;
8:管理类命令;

操作键:
空格键:向后翻一屏;
b: 向前翻一屏;
回车键:向后翻一行;
k: 向前翻一行;
Ctrl+d: 向后翻半屏;
Ctrl+u: 向前翻半屏;
G: 跳转至文件尾;
1G: 跳转至文件首;
q: 退出;

文本查找:
/keyword: 从当前光标所在行开始,向文件尾部查找;
?keyword: 首部查找;

n: 跟当前查找命令相同方向的下一个匹配;
N:跟当前查找命令相反方向的下一个匹配;

passwd: 使用帮助

whatis COMMAND: 显示相应帮助所在的章节,及其简要说明;
# makewhatis

export LANG=en

ls: 列出指定目录下的文件
-l:以长格式显示文件的详细属性
文件类型
属主、属组及其它用户的权限
文件被硬链接的次数
属主
属组
文件的大小
文件最近一次被修改的时间
文件名

时间戳:
最近一次被访问
最近一次被修改:内容
最近一次被改变:属性
-a:显示所有文件,包括隐藏文件
-A:跟-a功能相同,但不显示.和..;
.: 当前目录;
..: 上级目录;
-n: 以用户及组的id号排序;
-h: 文件大小会自动进行单位换算;
-r:文件名逆序显示;
-R:递归显示;

date:
显示天
显示月
显示年
显示小时
显示年-月-日
显示小时:分钟:秒
能否修改时间?如果可以,如何使用?

cal, hwclock;

Unix元年,1970-01-01 00:00:00
date +%s

date mmddHHMM[CC[YY]][.SS]

Linux有两套时间:
硬件时钟
系统时钟

hwclock
-w: 以系统时钟为准,将硬件时钟修改为系统时间
-s:以硬件时钟为准,将系统时间修改为硬件时间

info:
上下箭头,以及PageUp、PageDown

q: 退出;

man, info

date, hwclock, cal

LHS:

Linux的目录结构:
/: 根目录;
/bin: 二进制,可执行的命令;
/sbin: 可执行命令,仅用于管理,通常管理员才有权限使用;
/boot: 引导,操作系统用于引导系统启动的文件,内核、grub;
/dev: 设备文件;
Linux的设备类型:
字符设备:c, 线性设备
块设备:b, 随机设备
/etc: 配置文件;
/home: 用户的家目录,/home/USERNAME,jerry, /home/jerry;
/root: 管理员的家目录;
/lib, /lib64: 库文件
/media: 挂载点目录,通常用于挂载便携性设备;
/mnt:挂载点目录,挂载额外的文件系统;
/misc: 备份目录;
/opt: 可选目录,通常第三方软件偶尔安装于此路径下;
/proc: 伪文件系统;内存中内核的映射;
/selinux: 安全加强的Linux;
/srv: 属于服务的中间数据的存储位置;
/sys: 伪文件系统,通常用于访问硬件设备属性信息;
/tmp: 临时文件目录;
/usr: 存储只读文件;
/var: 经常会发生变化的文件;比方说日志等;

文件的访问路径:
/usr/share/doc/lsof-2.1/README

相对路径,绝对路径
绝对路径:从根开始的路径;
相对路径:从当前位置开始的路径;

/usr/share
ls -l /usr/share/doc/lsof-2.1/README
ls -l doc/lsof-2.1/README
ls -l ./doc/lsof-2.1/README

ls -l ../bin/passwd

目录相关命令:

cd /usr/share
回家目录:cd ~
cd
cd ~USERNAME: 切换至USERNAME的家目录;
cd -: 在上个目录和当前目录之间切换;

pwd: 显示当前目录;

dirname:显示指定路径的目录;

mkdir /tmp/x1
mkdir /tmp/x2/hello
-p
-v: 显示创建过程

mkdir -pv /tmp/x3/hello

bash支持命令行展开:{}

a_b, a_d
c_b, c_d

mkdir a_b a_d c_b c_d

(a+c)(b+d)=ab+ad+cb+cd
mkdir {a,c}_{b,d}

x/y, x/z, x/y/a, x/y/b, x/m
x/{y,z,m}/{a,b}

x/{y/{a,b},z,m}

rmdir: 仅能删除删除空目录;

文本文件相关的命令:
查看:
cat, tac
more/less
more: 向后翻,在翻至文件尾部之前允许向前翻
less:
head/tail
head: 文件的前n行;
tail: 文件的后n行;

-n #
-#

tail -f: 查看一个文件尾部内容后,不退出,等待并显示新增的行;退出使用Ctrl+C;
创建:
nano
touch: 修改文件时间戳;
-a: 访问时间
-m: 修改时间
-t STAMP: 指定时间,格式[CC]YYMMDDhhmm.ss
stat FILE
access: 访问
modify: 修改
change: 改变
编辑:
nano
vim

复制:
cp 要复制的文件路径 ... 目标
目标:
不存在:则复制并重命名指定的名称;
存在:
如果是文件:则覆盖;
如果是目录:将文件复制到指定的目录中;

如果要复制的文件是多个:
目标必须存在而且必须是目录;

-r: 递归复制
-a: 递归复制
-i: 交互式,覆盖前提醒确认

移动:
mv 要移动的文件 ... 目标
-i: 覆盖前提醒确认;

删除:
rm
-i: 提醒
-f: 强行删除;
-r: 递归删除目录及其内部的所有文件;

rm -rf 目录
rm -rf /

命令别名:
alias
\COMMAND: 使用命令自身,而不使用与命令名称同名的别名;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 使用 基本命令