资讯详情

linux命令详细说明一

0 linux文件系统目录简介:

文件系统:

rootfs: 根文件系统

FHS:Linux

/boot: 内核、initrd,以及grub(bootloader)

/dev: 设备文件

设备文件:

块设备:随机访问(磁盘) 硬盘, 随机访问,比如文件A,B,C直接访问B,不需要通过顺序A),数据块

字符设备:线性访问(有序) eg:键盘),以字符为单位,一个字符读取

设备号:主设备号(major)和次设备号(minor)

/etc:配置文件

/home:每个用户的家目录通常默认为/home/USERNAME

/root:在以后的操作中,不要拿管理员的家目录root用户登录,此时的任何一个操作都可能是致命的,因为root用户拥有所有权。

/lib:库文件

静态库, linux下是.a 结尾 , 作为程序的一部分,直接链接到程序地址空间。

动态库, window下叫.dll, linux下是.so (shared object),动态库是加载到内存中共享程序的工具集

/lib/modules:核模块文件

/media:移动设备常用于挂载点目录, 挂载含义: 想要被某个设备linux必须放置识别linux在文件系统的某个节点下(linux下面的一切都是文件/节点。

/mnt:挂载点目录常用于挂载额外临时文件系统 eg:第二块硬盘

/opt:可选目录,安装第三方程序目录

/proc:内核映射文件放在伪文件系统中,系统启动后才有内容

/sys:伪文件系统,与硬件设备相关的属性映射文件

/tmp:临时文件, /var/tmp

/var:可变文件

/bin: 可执行文件, 用户命令

/sbin:管理命令

/usr:unify shared, read-only

/usr/bin

/usr/sbin

/usr/lib

/bin, /sbin与系统启动有关

/usr/bin, /usr/sbin 系统本身正常提供与功能相关的功能

/usr/local: 第三方软件外围需要的,不必要,不关键, eg: 将hadoop安装在 /usr/local目录下

/usr/local/bin

/usr/local/sbin

/usr/local/lib

1 ls:

ls

-l:长格式

drwxr-xr-x 2 root root 4096 Jul 16 20:40 Desktop

文件类型:

-:普通文件 (f)

d: 目录文件

b: 块设备文件 (block)

c: 字符设备文件 (character)

l: 符号链接文件(symbolic link file)

p: 命令管道文件(pipe)

s: 套接字文件(socket)

文件权限:9位,每3位一组,每组:rwx(读、写、执行), r--

硬链接文件的次数

文件的属主(owner)

文件的属组(group)

文件大小(size),单位是字节

时间戳(timestamp):最近一次修改的时间

访问:access

修改:modify,文件内容发生了变化

改变:change,metadata,元数据

-h:做单位转换(human readable) eg: # ls -l -h 或者 # ls -lh 结果: drwxr-xr-x 2 root root 4.0K Jul 16 20:40 Desktop 即显示文件大小时kb为单位显示 让人看得懂

-a: 显示以.隐藏文件的开头 (a 表示 all,显示所有文件,包括隐藏文件,隐藏文件的前缀是.)

. 表示当前目录

.. 表示父目录

-A: (显示所有文件 但是不包括.和..)

-d: 显示目录本身的属性 eg: # ls -ld /root 则仅显示root属性,而不是显示root所有文件的属性

-i: 每个文件对应一个index node 简写为inode, 显示文件索引节点号: # ls -i /root 展示文件夹root所有文件的文件节点号 结果为: 490570 anaconda-ks.cfg ...

-r: 逆序显示(默认按文件名升排序显示) eg: # ls -r /root 结果: test1.sh install.log.syslog install.log Desktop anaconda-ks.cfg

-R: 递归(recursive)显示

2 cd:

change directory

家居目录,主目录, home directory

cd ~USERNAME: 进入指定用户的家目录

cd -:在当前目录和上次目录之间来回切换

3 type:

显示指定属于哪种类型 eg: # type ls 结果: ls is aliased to `ls --color=tty'

4 命令类型

内置命令(shell内置),内部,内部

外部命令:在文件系统的某一路径下,有一个与命令名称相对应的可执行文件 eg: # which ls 结果: /bin/ls 这个ls在文件系统中/bin/目录下的命令 是外部命令

5 环境变量

变量赋值 使用# printenv 查看,部分查询结果如下:

TERM=vt100

SHELL=/bin/bash

HISTSIZE=1000

SSH_CLIENT=192.168.1.156 61052 22

SSH_TTY=/dev/pts/2

USER=root

常用的外部命令都放在了 PATH=中间用:隔开。PATH=n:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

, 以ls以命令为例,当它开始使用时,它会去path找到路径并执行路径下的命令。执行后,该命令缓存,可使用命令]# hash来查看

eg: 记录命令执行次数和命名名称

# hash

hits command

1 /usr/bin/printenv

14 /bin/ls

这种缓存是通过hash缓存方法,(键--->值,缓存中查询的速度是O(1)--->测量程序执行速度的标准,o(1)意味着无论多长时间,都是瞬间的)

6 date

时间管理

window: rtc real time clock 硬件时钟--->依靠晶体振荡器(需要电源支持,台式主板的按钮电池),当前时间从硬件时钟读取,然后设置当前的系统时间。

Linux: 开机时,会通过rtc获得硬件时钟,然后核心本身通过软件模拟振荡器,并在系统中保持时钟(系统时钟),我们通过date命令看到的时间是系统时钟,必须是

硬件时钟不准确。

硬件时钟linux下使用: # clock 来获取

# date --help

Usage: date [OPTION]... [ FORMAT]

FORMAT controls the output.

%% a literal %

%a locale's abbreviated weekday name (e.g., Sun)

%A locale's full weekday name (e.g., Sunday)

%b locale's abbreviated month name (e.g., Jan)

%B locale's full month name (e.g., January)

%c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)

%C century; like %Y, except omit last two digits (e.g., 21)

%d day of month (e.g, 01)

...

[root@sliver114 ~]# date %Y

2014

[root@sliver114 ~]# date "this year is %Y"

this year is 2014

[root@sliver114 ~]# date %d

25

[root@sliver114 ~]# date "this year is %Y, %noday is %d"

this year is 2014,

today is 25

[root@sliver114 ~]# date +%T

00:47:05

[root@sliver114 ~]# date +%Y-%m-%d

2014-08-25

修改时间  date [MMDDhhmm[[CC]YY][.ss]]

7 linux中符号的含义

常在 help --commond 或者 man commond中看到如下符号,

eg: #man date

SYNOPSIS

date [OPTION]... [+FORMAT]

date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

代表含义如下

<>:必选

[]:可选

...:可以出现多次

|:多选一

{}:分组

标签: utc9012晶体管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台