linux命令学习

GNU: GNU is not Unix

GPL:    General Public License

GUI:  Graphic User Interface

CLI:   Command Line Interface

login:

用户名: 用户ID

认证机制: Authentication   密码

授权: Authorization          拥有的权限

审计: Audition                   日志记录

Windows PE 可移植的执行文件 Portable Execute File

Linux      ELF 可执行的链接文件 Execute Link File

 

Linux 基本原则:

1.由目的单一的小程序组成,组合小程序完成复杂任务

2.一切皆文件

3.尽量避免与用户交互

4.配置文件保存为纯文本格式

命令格式:               命令  选项  参数

Linux严格区分大小写

Linux常用命令:

su

用户切换 switch user   su  [-l]  USERNAME 切换到指定用户名处。若由root切换到其他用户,不用输入密码,反之要输入密码才能进入root用户

ls

列出指定路径下的文件目录 list  ls,其选项有

ls 列出目录下的文件

-l      列出目录下文件的详细信息(不包含隐藏文件)。   

-a (all) 列出目录下所有文件,包含隐藏文件,默认情况下列出的是不包含隐藏文件的

-h (human)    列出文件详细信息时,文件大小以易读方式现象

-i (index node) 列出文件索引号。

-r ()逆序显示文件(默认情况下,是以文件名字母Ascii排序方式顺序显示)

-R(Recursive) 递归调用

-d (directory) 显示目录信息

date 获取系统时间

OS系统时间分为系统时间和硬件时间

date获取的是系统时间    clock 显示系统时间  

 

硬件时间: 硬件时钟是存储在CMOS里的时钟,关机后该时钟依然运行,主板的电池为它供电。

硬件时钟依照主板   石英晶体振荡器  频率工作,在启动系统后,系统从该时钟读取时间信息,之后独立运行。

当调整 系统时钟 或与internet同步后,不会改变硬件时钟,下次启动又会变成硬件时钟的时间。

date 显示系统时钟  (也可以不带引号)

-d 显示指定的时间 比如 date -d “1 day ago”  +“%Y--%m--%d”

-s 设置时间(修改系统时钟)  date -s “2015-11-13 10:26:50”

-r  文件名             显示文件最后一次修改时间

%a 简写星期   %A不简写

%b 简写月份   %B不简写

%y 简写年份   %Y不简写

%d 日           %D  %x 显示时间格式 mm/day/year

%m 月           %M 分钟

%T 显示时间,24小时制(hh:mm:ss)

%p 显示AM或PM

%W 一年的第几个星期(00~53,星期一为第一天)

%j 一年的第几天(001~366)

%c 日期和时间(Tue Nov 20 14:12:58 2012)

 

hwclock 显示硬件时间 

hwclock -w  将系统时间同步到硬件中

hwclock -s   将硬件时间同步到系统中

 

man [number]  命令 用于帮助查找   参数表示第几个章节

whatis  命令      描述一个命令执行什么功能

type   命令         显示命令的类型

file     文件名      列出文件辨识结果

      参数

  -b           列出文件辨识结果,不显示文件名

  -c          详细列出文件辨识结果,便于排错分析文件执行过程

  -f           列出文件名中文件的详细类型

  -F           指定文件名后面的分隔字符,默认为':'

  -L          查看软链接对应的文件类型

tree   文件         显示目录文件树形结构

hash                查看系统缓存内容

printenv          打印系统环境变量

mkdir             创建目录

mkdir   /mnt/x/usb    创建目录usb,前提是x目录必须存在,否则创建usb不能成功

mkdir -p  /mnt/x/y/z  创建目录z,如果x,y目录不存在,先创建x,y,在创建z。(parent)

mkdir -pv  /mnt/x/y/z  显示创建过程的详细信息,便于排错

rmdir  目录名   只能删除空目录,目录非空,删除不了

touch  真是目的不是创建文件,而是修改文件的时间戳。在文件不存在是,默认创建这个文件

-a   或--time=atime或--time=access或--time=use  只更改存取时间。touch -a a.c               ll a.c

 

-m   或--time=mtime或--time=modify  只更改变动时间。

 

-c   或--no-create  不建立任何文档。touch -c a.c

 

-t   使用指定的日期时间,而非现在的时间。touch -t [YYMMMMHHMM.SS]  a.c b.c

 

-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

touch -r a.c b.c 更新b.c的时间戳,与a.c的相同

 

type    command   显示命令类型  

tree     directory    显示磁盘目录结构

tree---           当前目录下的所有内容显示

tree -L num    当前目录下指定深度为num的目录

tree   -d         显示目录名称而非内容

tree   -f          在每个文件或目录之前,显示完整的相对路径名称

hash  查看内存内容及命中次数

printenv  打印环境变量

mkdir    创建目录

-p (parent)mkdir -p /mnt/test/{a,c}_{b,d}  创建目录a_b,a_d,c_b,c_d

-v 显示创建过程的详细信息

rmdir  删除空目录,非空目录不能删除

stat     查看文件的详细的状态、准确的修改时间等(三个时间戳都可以看到)

cp   (copy)文件拷贝 

cp  file1  file2   file3 注:拷贝时可以有多个源文件,但只能有一个目的文件。而且当有多个源文件时,目的文件要是一个目录

cp file1 file2        file2可以是一个目录,将file1拷贝到目录file2处。file2也可以为一个文件,将file1的内容拷贝到名为file2的文件中

cp默认情况下只能复制文件,不能复制目录。如果源文件是目录,可加入选项-r,实现目录的拷贝。

cp  -r 源文件目录的 文件复制

  -a 保持原有所有属性进行拷贝,多由于文件存档

  -P保留原有文件mode,ownership, timestamp

  -i interactive 含有交互式命令的拷贝

注意:cp 默认拷贝是文件。若拷贝一个目录时,目录中是一个link类型的文件,拷贝时拷贝的是文件,不是链接。为了保持原有链接特性,可选用选线参数-l, -P,-d,保存链接属性

cp -L 则拷贝链接所指向的文件

  

mv  move 用于移动文件  类似于剪切后粘贴到目的地

mv src dest  可以多个源,但只能有一个目的。若dest是目录,可以将多个源移动到目录dest下;

若dest是文件,只能有一个源文件,dest文件存在,将源文件移动到目录文件下,文件命名为dest。

                dest不存在,创建dest

源是目录,dest是文件,错误提示:不能将目录移动到文件

 

rm 删除文件或目录(-r选项)

install copy files and set attributes 复制文件并设置属性,不能复制目录(cp -r 可以复制目录)

install src dest 复制文件,将src 拷贝到dest中。源文件没有执行权限,install拷贝后,dest有执行权限

install 和cp的区别

基本上,在Makefile里会用到install,其他地方会用cp命令。

它们完成同样的任务——拷贝文件,它们之间的区别主要如下:

1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在 使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件。而使用 install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了;

2、install命令会恰当地处理文件权限的问题。比如说,install -c会把目标文件的权限设置为rwxr-xr-x;

3、install命令可以打印出更多更合适的debug信息,还会自动处理SElinux上下文的问题。

 du disk usage 磁盘使用空间情况

df                磁盘被文件占用空间大小

 

执行一条命令,若不带路径,则说明该路径在环境变量PATH中(可以使用printenv查看PATH路径),否则1.将路径加到PATH中,2.执行路径带命令3.命令有误

posted @ 2015-11-15 15:40  niupan369  阅读(202)  评论(0编辑  收藏  举报