Linux入门---基础语法
Posted L_add
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux入门---基础语法相关的知识,希望对你有一定的参考价值。
常见的操作指令
ls
语法:ls [选项] 目录或文件
ls,对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
- -a 列出目录下的所有文件,包括以.开头的隐藏文件
- -d 将目录像文件一样显示,而不是显示其下文件。如 ls -d指定目录
- -i 输出文件的i节点的索引信息。ls -ai指定文件
- -k 以k字节的形式表示文件大小。ls -alk指定文件
- -l 列出文件的详细信息
- -n 用数字的UID,GID代替名称
- -F 在每个文件名后附上一个字符以说明改文件的类型,"*“表示可执行的普通文件;”/“表示目录;”@“表示符号链接;”|“表示FIFOs;”="表示套接字(目录类型识别)
- -r 对目录反向排序
- -t 以时间排序
- -s 在l文件名后输出该文件的大小
- -R 列出所有子目录下的文件
- -1 一行只输出一个文件
pwd
显示用户当前所在的目录
(Linux路径分隔符: /;Windows路径分隔符: )
cd
语法:cd 目录名
在Linux系统中,磁盘上的文件和目录被组成一颗目录树,每个节点都是目录或文件。
. 当前路径
. .上级路径
cd改变工作目录,将当前工作目录改变到指定的目录下
- cd . .:返回上级目录
- cd /home/linux/test/ :绝对路径
- cd …/test/ :相对路径
- cd ~ :进入用户家目录
- cd - :返回最近访问目录
touch
语法:touch [选项] 文件
touch可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
- -a 或 --time=atime或–time=access或–time=use 只更改存取时间
- -c 或 --no-create 不建立任何文档
- -d 使用指定的日期时间,而非现在的时间
- -f 此参数将忽略不予处理,仅解决BSD版本touch指令的兼容性问题
- -m 或–time=mtime或–time=modify 只更改变动时间
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
- -t 使用指定的日期时间,而非现在的时间
mkdir
语法:mkdir [选项] 创建名称
在当前目录下创建一个目录
- -p,–parents 可以是一个路径名称。此时路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些不存在的目录,即一次可以建立多个目录
rmdir&&rm
rmdir
语法:rmdir [-p] [dirname]
rmdir删除空目录
- -p 当子目录被删除后如果父目录也变成空目录,就连带父目录一起删除
rm
语法:rm [选项] [dirname/dir]
rm可以同时删除文件或目录
- -r 删除目录及其下所有文件
- -i 删除前逐一询问确认
- -f 强制删除文案
man
语法:man [选项] 命令
man访问命令手册
man XXX:默认查1号
- -k 根据关键字搜索联机帮助
- num 只在num章节查找
- -a 将所有章节显示
cp
语法:cp [选项] 源文件或目录 目标文件或目录
cp复制文件或目录
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已经存在的目录,则会出现错误信息
- -f 或-- force 强行复制文件或目录,不论目的文件或目录是否存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录形态不属于目录或符号链接,则一律视为普通文件处理
- -R 或-- recursive 递归处理,将指定目录下的文件及子目录一并处理
mv
mv命令可以用来移动文件或者将文件改名,是Linux下常用的命令,经常用来备份文件或者目录
语法: mv [选项] 源文件或目录 目标文件或目录
1、视mv命令中第二个参数类型的不同(目标文件/目标目录),mv命令将文件重命名或将其移至一个新的目录中
2、当第二个参数类型是文件时,mv命令完成文件重命名,此时源文件只能有一个(或源目录名),它将所给的源文件或目录重命名为给定的目标文件名
3、当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv命令将个参数指定的源文件均移至目标目录中
- -f 强制,如果目标文件已存在,不会询问而直接覆盖
- -i 若目标文件已存在,会询问是否覆盖
cat
语法:cat [选项] 文件
查看目标文件内容,从下往上查看
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
- <(文件) :输入重定向,从文件里读数据
- ctrl +c:退出
tac
倒叙输出文件
more
语法:more [选项] 文件
more命令类似cat,more从上往下查看,只能向下翻动
- -n 对输出的所有行编号
- q 退出more
less
文本查看可上下翻动且不会加载整个文件
- -i 忽略搜索时大小写
- -N 显示每一行的行号
- /字符串 :向下搜索“字符串”的功能
- ?字符串 :向上搜索“字符串”的功能
- n :重复前一个搜索(与/或?有关)
- N :反向重复前一个搜索(与/或?有关)
- q :退出
head
head与tail用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,tail是看档案的结尾
语法:head [参数] 文件
head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
- -n<行数> 显示的行数
tail
tail命令从指定点开始将文件写到标准输出
语法:tail [必要参数] [选择参数] 文件
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理,常用查看日志文件
- -f 循环读取
- -n<行数> 显示行数
echo
把文本内容显示到显示器中
-
(文件) : 输出重定向到文件中,每次都要重新清空文件然后重新写入
-
(文件):追加重定向到文件中,不清空原始文件内容
时间戳
时间->时间戳 :date +%s -》num
时间戳 ->时间 :date -d@num
Unix时间戳是从1970年1月1日开始经过的秒数
cal
格式:cal [参数] [月份] [年份]
用于查看日历等时间信息,如果只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份
- -3 显示系统前一个月,当前月,下一个月的月历
- -j 显示在当年中的第几天
- -y 显示当前年份的日历
find :-name
- Linux下find命令在目录结构中搜索文件,并执行指定的操作
- -name 按照文件名查找文件
- 即使在系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效
- 在运行一个非常消耗资源的find命令时,倾向于把它放在后台执行
语法:find pathname -options
用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
which
找命令文件
alias
给命令起别名
grep
语法:grap[选项] 搜索字符串 文件
在文件中搜索字符串,将找到的行打印出来
- -i 忽略大小写不同
- -n 输出行号
- -v 反向选择,即显示出没有“搜索字符串”内容的那一行
zip/unzip
语法:zip 压缩文件.zip 目录或文件
zip将目录或文件压缩成zip格式 unzip解压
- zip -r 递归处理,将指定目录下的所有文件和子目录一起处理
- unzip -d 指定目录解压
tar
打包/解包,不打开它,直接看内容
语法:tar [选项] 文件与目录 参数
- -c 建立一个压缩文件
- -x 解开一个压缩文件
-
- t 查看tarfile里面的文件
- -z 是否同时具有gzip属性/是否需要用gzip压缩
- -j 是否同时具有bzip2的属性/是否需要用bzip2压缩
- -v 压缩的过程中显示文件
- -f 使用档名,在f后立即接档名
- -C 压缩到指定目录
bc
可以进行浮点运算
uname -r
语法 uname [选项]
uname用来获取电脑和操作系统的相关信息(可显示Linux主机所用的操作系统的版本,硬件名称等基本信息)
- -a或-all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
快捷键
- [Tab] 命令补全/档案补齐
- [Ctrl]+c 停止当前程序
- [Ctrl]+d EOF
关机
语法: shutdown [选项]
- -h 将系统服务停掉后立即关机
- -r 将系统服务停掉之后重新启动
- -t sec -t后加秒数=过几秒关机
file
语法:file 文件名
查看文件信息
clear
清屏
以上是关于Linux入门---基础语法的主要内容,如果未能解决你的问题,请参考以下文章
Linux入门第五天——shell脚本入门(下)基础语法之调试debug