Linux基本使用

Posted 敏達

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基本使用相关的知识,希望对你有一定的参考价值。

Linux基本使用

常用快捷键

按键 操作
C-c cancel取消当前操作
C-l 清空屏幕内容
C-d 退出当前用户
C-a 光标移动到行首
C-e 光标移动到行尾
C-u 删除光标到行首的内容

打印环境变量 echo $path

常用基本命令

7个最常用

  • ls => list
  • pwd => print work directory
  • cd => change directory
  • touch => touch
  • mkdir => make directory
  • rm => remove
  • clear => clear

其他基本命令

  • 拷贝和移动文件
    • cp
    • mv
  • 查看文件内容
    • cat
    • more
    • grep
  • 其他
    • echo
    • 重定向>>>
    • 管道|

终端命令的格式

command [-options] [parameter]

说明:

  • command 命令名
  • [options] 选项,可用来对命令进行控制
  • parameter 参数

[]代表可选

查阅命令帮助信息

  1. command --help
    说明:
  • 显示command命令的帮助信息,一般有中文
  1. man command
    说明:
  • 查阅command命令的英文使用手册

manmanual的缩写

终端小技巧

  1. 使用TAB来自动补全
    • 在敲出文件/目录/命令的前几个字母之后,按下TAB
      • 如果输入的没有歧义,系统会自动补全
      • 如果还存在其他的文件/目录/命令 可以再按一下TAB系统会提示可能命令
  2. 曾经使用过的命令
    • /光标键
    • 退出选择 并且不执行当前的命令 Ctrl+C
  3. alias查看别名

命令说明

1. ls

list

  • Linux文件或者目录名最长256个字符
  • -a显示指定目录下的所有子目录与文件,包括隐藏文件(--all)
    • .开头的文件为隐藏文件 需要-a参数才能显示
  • -l以列表方式显示文件的详情信息(use a long listing format)
    • 文件权限-硬连接数量-所有者-所属组-大小-最后一次修改文件或者目录的时间-文件名
  • -h配合-l以人性化的方式显示文件大小(--human-readable)
  • --full-time输出详细时间
  • -t根据最后修改时间排序
  • -r逆转排序
  • -S根据文件大小进行排序
  • -i显示文件夹的inode信息(文件的身份证号,储存了文件的元信息,文件的大小,位置,权限等)
  • -F 在不同的文件结尾,输出不同的特殊符号
    • /结尾是文件夹
    • *结尾是可执行文件
    • @结尾是软链接(快捷方式)
    • 普通文件类型无结尾
  • -d显示文件夹本身信息,不输出其中内容(搭配-l使用查看某文件夹的详细信息)
  • ls /opt 显示根目录下的opt文件夹

ls通配符的使用

通配符 含义
* 代表任意个数个字符
? 代表任意一个字符,至少一个
[] 表示可以匹配字符组的任意一个,可以用-连接表示一个范围

2. cd

change directory

注意:Linux所有的目录和文件名都是大小写敏感的

命令 含义
cd 切换到当前用户的主目录(/home/用户名)
cd ~ 切换到当前用户的主目录(/home/用户名)
cd . 保持在当前目录不变
cd .. 切换到上级目录
cd - 在最近的两次工作目录之间来回切换

相对路径和绝对路径

  • 相对路径 最前面不是/或者~,表示相对 当前目录 所在的目录位置
  • 绝对路径 最前面是/或者~,表示从 根目录/家目录 所在的目录位置

3.su

substitute user

su -用户名 #完全的环境变量用户切换

3. 创建和删除操作

3.1 touch

Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
创建多个文件
touch alex{a..z}

选项 含义
-c,--no-create 不创建任何文件
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间
-r,--reference=文件 使用指定文件的时间属性替代当前文件时间

3.2 mkdir

make directory

选项 含义
-p mkdir -p ./a/b/c可以递归创建目录
{a,b,c} 创建多个目录

新建目录的名称 不能与当前目录中 已有的目录或文件 同名

bash脚本语法
mkdir a{1..100}创建a1 - a100 100个文件夹

3.3 rm

remove

使用rm命令要小心,因为文件删除后不能恢复!

选项 含义
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹时必须加此参数

4. 拷贝和移动文件

命令 对应英文 作用
tree[目录名] tree 以树状图列出文件目录结构
cp 源文件 目标文件 copy 复制文件或者目录
mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名

cp -r A目录 B目录
如果B目录存在 会将A目录放在B目录内
如果B目录不存在 把A复制过去并命名为B(改名复制)

4.1 tree

选项 含义
-d 只显示目录

4.2 cp

选项 对应英文或长参数形式 含义
-f --force 已经存在的目标文件直接覆盖,不会提示
-i --interactive 覆盖文件前提示
-r recursively 若给出的源文件是目录文件,则cp将递归复制该目录下的所有走出目录和文件,目标文件必须为一个目录名

4.3 mv

move
mv命令可以用来移动文件或目录 也可以给文件和目录重命名

选项 含义
-i 覆盖文件前提示

5. 查看文件内容

命令 对应英文 作用
cat 文件名 concatenate 查看文件内容 创建文件 文件合并 追加文件内容等功能
more 文件名 more 分屏显示文件内容
grep搜索文本文件名 grep 搜索文本文件内容

5.1 cat

  • cat命令可可以用来查看文件内容 创建文件 文件合并 追加文件内容
  • cat会议次显示所有的内容,适合显示内容较少的文本文件
功能 说明
查看文件内容 cat file
多个文件合并 cat file1 file2 > file3
非交互式编辑或追加内容 cat >> file << EOF
hello linux
hello vim
EOF
选项 长参数形式 含义
-b --number-nonblank 对非空行输出行编号
-n --number 对输出的所有行编号
-s --squeeze-blance 不输出多行空行
-E 在每行结尾加上$

Linux还有一个nl的命令和cat -b的效果等价
tac反向查看 cat倒过来

cat 清空文件
1. 直接清空文件,留下了一个空行
echo > gushi.txt #将空行输出到gushi.txt
2.直接清空文件,不留空行
> gushi.txt
3.利用cat读取一个黑洞文件,然后清空其他文本
cat /dev/null > gushi.txt

5.2 more less

  • more命令可以用于分屏显示文件内容,每次只显示一页内容
  • less命令可以用于
  • 适合于查看内容较多的文本文件
    使用more的操作键:
    |操作键|功能|
    |---|---|
    |enter|显示下一行|
    |空格键|显示手册页的下一屏|
    |b|回滚一屏|
    |f|前滚一屏|
    |q|退出|
    |=|显示当前行号|
    |/word|搜索word字符串|

5.3 grep

  • Linux系统中grep命令是一种强大的文本搜索工具
  • grep允许对文本文件进行模式查找(正则表达式)
    |选项|长参数形式|含义|
    |---|---|---|
    |-n|--line-number|显示匹配行及行号|
    |-v|--invert-match|显示不包含匹配文本的所有行(相当于求反)|
    |-i|--ignore-case|忽略大小写|

5.4 head tail

  • head命令用于查看文件开头n行
head -5 file
head file #head默认显示10行

-c参数,显示字节数量
head -c 5 file 显示前5个字节

-tail默认从后向前看10行,也可以指定行数

tail file 
tail -2 file

-f 实时刷新文件内容变化(一般用于查看日志文件)
-F 可以检测不存在文件的内容变化

6. 其他

6.1 echo 文字内容
  • echo会在终端中显示参数指定的文字,通常会和重定向联合使用
6.2 重定向 > 和 >>
  • Linux允许将命令执行结果重定向到一个文件中

  • 将本应先是在终端上的内容 输出/追加 到指定文件中

  • >表示输出,会覆盖文件原有的内容

  • >>表示追加,会将内容追加到已有文件的末尾

  • <重定向写入符

  • <<重定向追加写入符

cat 123.txt > 111.txt 将123的内容追加到111.txt
cat 123.txt > 111.txt 将123的内容覆盖到111.txt
cat < 123.txt 将文件中的内容发送给cat命令
xargs -n 3 < shuzi.txt

cat >> 1.txt << EOF
>1
>2
>3
EOF
6.3 管道 |
  • Linux允许将一个命令的输出 可以通过管道 作为 另一个命令的输入
  • 可以理解为现实生活中的管子,管子的一头塞东西进取,另一头取出来,这里|的左右分为两端,左端赛东西(写),右端取东西(读)
    常用的管道命令有:
  • more分屏显示内容
  • grep在命令执行结果的基础上查询指定的文本

7. linux开关机

重启

shutdown -r参数 -r --reboot Reboot the machine

shutdown -r 10 #十分钟后重启
shutdown -r 0 #立刻重启
shutdown -r now #立刻重启

关机

shutdown -h --halt 停止的含义

shutdown -h 10
shutdown -h 0
shutdown -h now

halt,poweroff也可以用作关机
reboot用作重启

8.vim

vim 文件名 #打开文件

以上是关于Linux基本使用的主要内容,如果未能解决你的问题,请参考以下文章

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

c_cpp Robolution基本代码片段

[linux][c/c++]代码片段01

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

[linux][c/c++]代码片段02

如何从片段外部清除/重置地图?