linux常用基本命令整理小结
linux系统遵循的基本原则
- 由目标单一的小程序组成,组合小程序完成复杂任务;
- 一切皆文件;
- 尽量避免捕捉用户接口;
- 配置文件保存为纯文本文件;
Linux命令行常识
命令格式
命令+选项+参数
-
选项:
短选项:- 多个短选项可以结合:-a -b = -ab
长选项:-- -
参数:命令的作用对象;
命令类型
- 内置命令:shell内部设置,内建;
- 外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件;
- 检测是内外部命令的方式:使用type命令;
type命令使用方法:
type+要检查的命令
环境变量
- 定义:命令的内存空间(方便命令的使用)
- 多命令:利用“;”隔开;
man手册使用
man手册分章
1:用户命令(/bin, /usr/bin, /usr/local/bin) 2:系统调用 3:库用户 4:特殊文件(设备文件) 5:文件格式(配置文件的语法) 6:游戏 7:杂项(Miscellaneous) 8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)
命令解读:
<>:必选 []:可选(可省略) ...:可以出现多次 |:多选一 {}:分组
MAN:
NAME:命令名称及功能简要说明 SYNOPSIS:用法说明,包括可用的选项 DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义 OPTIONS:说明每一个选项的意义 FILES:此命令相关的配置文件 BUGS: EXAMPLES:使用示例 SEE ALSO:另外参照
操作方法:
翻屏: 向后翻一屏:SPACE 向前翻一屏:b 向后翻一行:ENTER 向前翻一行:k 查找: /KEYWORD: 向后 n: 下一个 N:前一个 ?KEYWORD:向前 n: 下一个 N:前一个 q: 退出
文件系统操作相关命令
文件系统目录结构
/boot: 系统启动相关的文件,如内核、initrd,以及grub (bootloader) /dev: 设备文件 设备文件: 块设备:随机访问,数据块 字符设备:线性访问,按字符为单位 设备号:主设备号(major)和次设备号(minor) /etc:配置文件 (Linux哲学:将配置文件保存成纯文本文件) /home:用户的家目录,每一个用户的家目录通常默认为/home/ USERNAME /root:管理员的家目录; /lib:库文件 静态库, .a 动态库, .dll, .so (shared object) /lib/modules:内核模块文件 /media:挂载点目录,移动设备(挂载:将设备关联到该文件系统 的某个目录上) /mnt:挂载点目录,额外的临时文件系统 /opt:可选目录,第三方程序的安装目录(optional 可选的) /proc:伪文件系统,内核映射文件(内核的根本功能属性 如:各 种协议的支撑 路由功能的支撑等) /sys:伪文件系统,跟硬件设备相关的属性映射文件 /tmp:临时文件, /var/tmp(一个月后自动删除其内容 任何用户 都可以创建 但只能删除自己的内容) /var:可变化的文件 /bin: 可执行文件, 用户命令 /sbin:管理命令
注意:
1) /bin /sbin 存放和系统启动相关的命令 2) /usr:shared, read-only (全局共享只读文件) /usr/bin /usr/sbin /usr/lib (系统启动后 提供基本功能所使用的相关命令和可执行程序) 3) /usr/local:(第3方软件 非关键性程序) /usr/local/bin /usr/local/sbin /usr/local/lib
文件系统的基本命令
1)文件管理命令
- touch命令
语法: # touch(选项)(参数) 功能: 修改文件的时间戳;创建新的空文件; 选项: -a:改变访问时间 -m:改变修改时间 -t:改变为指定时间 e.g. # touch -mt 199301101123 -c:不创建任何文件 事实上,stat命令显示的是文件i节点的信息。Linux文件系统以块为单位存储信息,为了找到某一个文件所在存储空间的位置,用i节点对每个文件进行索引。
- stat命令
语法: # stat (选项)(参数) 功能: 用于显示文件或文件系统的详细信息 选项: -f:不显示文件本身的信息,显示文件所在文件系统的信息 -L:显示符号链接 -t:只显示摘要信息
- file命令
语法: file(选项)(参数) 功能: 显示文件的文件类型; 选项: -L:直接显示符号链接所指向的文件类型 参数: 要确定的文件类型的文件列表,多个文件之间用空格隔开,可以使用shell通配符匹配多个文件
- rm命令
语法: # rm (选项)(参数) 功能: 删除文件 选项: -i:删除文件前询问用户 -f:强行 -r:递归 注意:rm -rf / (一定要小心 这是致命的命令)
- cp命令
语法: #cp (选项)(SRC DEST) 功能: 拷贝文件或目录 选项: -r:递归 -i:执行命令前询问用户 -f:强行 -p:保留原文件或目录的属性 -a:归档复制,常用于备份 注意: 多个文件到一个目录 #cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/ ( "{}"表示命令行展开)
- mv命令
语法: # mv (选项)(SRC DEST) 功能: 1)当目标文件为目录文件时,源文件移动到该目录下,且文件名不变;其次,源文件可以为多个,所有源文件都被移动个该目录下且文件名不变。 2)当目标文件不是目录文件时,源文件和目标文件在同一目录下,则是在修改目标文件的文件名,反之,则是源文件(只能为一个)覆盖目标件。 选项: -b:覆盖前先备份 -f:强行 -i:执行前询问用户 -t:移动多个源文件
- cat/tac命令
语法: # cat/tac (选项)(参数) 功能: 1)一次显示整个文件: cat filename 2)从键盘创建文件:cat > filename 3)将几个文件合并为一个文件:cat file1 file2 > file 选项: -b:对非空输出行号 -E:在每行结束处显示$ -n:对输出的所有行进行编号,由1开始
- more命令
语法: # more (选项)(参数) 功能: 按页显示文件内容 选项: +n:从笫n行开始显示 -n:定义屏幕大小为n行 -p:通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似 操作: Enter 向下n行,需要定义。默认为1行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more
- less命令
语法: # less (选项)(参数) 功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。 选项: -b <缓冲区大小> 设置缓冲区的大小 -e 当文件显示结束后,自动离开 -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -g 只标志最后搜索的关键词 -i 忽略搜索时的大小写 -m 显示类似more命令的百分比 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -Q 不使用警告音 -s 显示连续空行为一行 -S 行过长时间将超出部分舍弃 -x <数字> 将“tab”键显示为规定的数字空格 操作: /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一行 回车键 滚动一页 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
- head命令
语法: # head (选项)(参数) 功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 选项: -q 隐藏文件名 -v 显示文件名 -c<字节> 显示字节数 -n<行数> 显示的行数
- tail命令
语法: # head (选项)(参数) 功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。 选项: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数
- cut命令
语法: # cut(选项)(参数) 功能: 1)显示文件内容; 2)连接两个或多个文件:cut f1 f2 > f3 选项: -b:仅显示行中指定直接范围的内容; -c:仅显示行中指定范围的字符; -d:指定字段的分隔符,默认的字段分隔符为“TAB”; -f:显示指定字段的内容; -n:与“-b”选项连用,不分割多字节字符; --complement:补足被选择的字节、字符或字段; --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符; --help:显示指令的帮助信息; --version:显示指令的版本信息。
- join命令
语法: # join (选项)(参数) 功能: “将两个文件里指定栏位同样的行连接起来”,即依照两个文件里共有的某一列,将相应的行拼接成一行。 选项: -a FILENUM:除了显示匹配好的行另外将指定序号(1或2)文件里部匹配的行显示出来 -e EMPTY:将须要显示可是文件里不存在的域用此选项指定的字符取代 -i :忽略大写和小写 -j FIELD :等同于 -1 FIELD -2 FIELD,-j指定一个域作为匹配字段 -o FORMAT:以指定格式输出 -t CHAR :以指定字符作为输入输出的分隔符join 默认以空白字符做分隔符(空格和\t),能够使用 join -t $'\t'来指定使用tab做分隔符 -v FILENUM:与-a相似 但值显示文件里没匹配上的行 -1 FIELD:以file1中FIELD字段进行匹配 -2 FIELD:以file2中FIELD字段进行匹配 --help :打印命令帮助文件 样例: 文件 file1.txt aa 1 2 bb 2 3 cc 4 6 dd 3 3 文件file2.txt aa 2 1 bb 8 2 ff 2 4 cc 4 4 dd 5 5 # join file1.txt file2.txt 输出:aa 1 2 2 1 bb 2 3 8 2
2)目录管理命令
- ls
语法: ls (选项)(参数) 功能: 显示目录列表 选项: -l:长格式 文件类型: -:普通文件 (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:做单位转换 -a: 显示以.开头的隐藏文件 . 表示当前目录 .. 表示父目录 -A 不包含 . 和 ..文件 -d: 显示目录自身属性 -i: index node, inode -r: 逆序显示 -R: 递归(recursive)显示
- cd
语法: cd (选项)(参数) 功能: 切换工作目录; 参数: cd ~USERNAME: 进入指定用户的家目录 cd -:在当前目录和前一次所在的目录之间来回切
- mkdir
语法: mkdir (选项)(参数) 功能: 创建目录 选项: -m<目标属性>或--mode<目标属性>:建立目录的同时设置目录的权限; -p或--parents: 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
3)排序命令
- sort
语法: sort (选项)(参数) 功能: 将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。 选项: -n:数值排序 -r: 降序 -t: 字段分隔符 -k: 以哪个字段为关键字进行排序 -u: 排序后相同的行只显示一次 -f: 排序时忽略字符大小写
- uniq
语法: uniq(选项)(参数) 功能: 报告或删除文件中重复的行 选项: -c: 显示文件中行重复的次数 -d: 只显示重复的行
4)统计命令
- wc
语法:(word count) wc (选项)(参数) 功能: 用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。 选项: -c或--bytes或——chars:只显示Bytes数; -l或——lines:只显示列数; -w或——words:只显示字数。
5)字符处理命令
- tr
语法: tr(选项)(字符集1 字符集2) 功能: 对来自标准输入的字符进行替换、压缩和删除。 选项: -c或——complerment:取代所有不属于第一字符集的字符; -d或——delete:删除所有属于第一字符集的字符; -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示; -t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。 参数: 字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”; 字符集2:指定要转换成的目标字符集。 详解见链接: https://www.cnblogs.com/ginvip/p/6354440.html
6)日期时间管理命令
- date
语法: date (选项)(参数) 功能: 显示或设置系统时间与日期。 选项: -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; -u:显示GMT; --help:在线帮助; --version:显示版本信息。 详细操作见链接: http://man.linuxde.net/date
- clock/hwclock
语法: clock (选项)(参数) 功能: 设置修改时间 详细操作见链接: http://blog.csdn.net/YuYunTan/article/details/52589019

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS下安装JDK
自行下载对应系统的jdk版本,一般是.tar.gz结尾的; 1.1安装依赖 yum install glibc.i686 yum –y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 yum update libstdc++-4.4.7-4.el6.x86_64 yum install gcc-c++ 1.2检查系统之前是否安装过jdk软件,如果安装过则卸载 rpm –qa | grep –i jdk 参数解释:q代表查询 a代表所有 |管道符 i代表忽略大小写 jdk程序名称 rpm –e --nodeps 程序名称 参数解释:e代表橡皮擦,擦除 nodeps代表删除依赖的其它包 1.3安装jdk 1.3.1创建安装目录 mkdir –p /usr/local/jdk 参数解释:p代表递归创建目录,代表parents,这里可以解释为: 要创建jdk这个文件,如果/usr/local存在则不创建,不过不存在,则创建 1.3.2 上传JDK安装包 这里可以建立一个文件夹,把需要安装的软件存放到这个文件夹下 可以使用:mkdir -p /u...
- 下一篇
CentOS升级OpenSSH,OpenSSL,关闭NTP服务
公司的旧版直播服务器使用的是CentOS 6.7,很多软件包都是几年前的了。最近很多安全相关的新闻充斥着IT圈,先是Intel芯片有重大安全漏洞,后面MacOS爆安全漏洞。所以,对于安全问题还真不能小觑。 接下任务,由于以前做华为核心网的项目,也有过相关的经验,大部分无非就是配置一下,或者升级软件包。经过一上午的折腾,终于完成升级包的制作,Linux就是方便。 升级脚本update.sh内容: #!/bin/bash #stop ntp service ntpd stop chkconfig --list ntpd chkconfig ntpd off #install openssl-flip sudo tar xzvf openssl-fips-2.0.16.tar.gz cd openssl-fips-2.0.16 sudo ./config sudo make sudo make install cd .. #install ssl sudo tar xzvf openssl-1.0.2n.tar.gz cd openssl-1.0....
相关文章
文章评论
共有0条评论来说两句吧...