前言
本篇博客给大家介绍一些常见的 Linux 命令
目录操作
pwd 查看当前工作目录
clear 清除屏幕
cd ~ 当前用户目录
cd / 根目录
cd - 上一次访问的目录
cd .. 上一级目录
其中清除屏幕的快捷键是: ctrl + l
ls
语法: ls 选项 目录或文件
功能: 对于目录来说, ls 可列出该目录下所有子目录和文件, 对于文件将列出文件名及其他信息
例如: ls -l 它可以简写为 ll 效果一样
关于 ls 的常用命令还有:
- -a 列出目录下的所有文件, 包括以 . 开头的隐含文件.
- -d 将目录象文件一样显示, 而不是显示其下的文件. 如: ls –d 指定目录.
- -k 以 k 字节的形式表示文件的大小. ls -alk 指定文件
- -l 列出文件的详细信息
- -r 对目录反向排序
- -t 以时间排序
- -r 列出所有子目录下的文件
pwd
功能: 显示用户当前所在的目录
cd
语法: cd 目录名
功能: 切换工作目录, 将当前工作目录切换到指定目录下
- cd .. 返回上一级目录
- cd ~ 进入用户 home 目录
- cd - 返回最近访问记录
例如:
cd test 就进入了 test 这个目录
touch
语法: touch 文件名
作用: touch 命令可更改文档或目录的日期时间, 包括存取时间和更改时间, 或者新建一个文件.
cat
语法: cat 文件名
功能: 查看目标文件的内容
例如:
mkdir
语法: mkdir dirname
作用: 在当前目录下创建一个名为 "dirname" 的目录.
例如:
mkdir aaa 在当前目录下创建aaa目录,相对路径
mkdir ./bbb 在当前目录下创建bbb目录,相对路径
mkdir /ccc 在根目录下创建ccc目录,绝对路径
递归创建目录
mkdir –p test/test1 // 递归建立多个目录
会创建目录里面没有的目录文件夹.
find
搜索命令
find -name 'b' 查询根目录下(包括子目录), 名以b的目录和文件
find -name 'b*' 查询根目录下(包括子目录), 名以b开头的目录和文件
mv
重命名
mv 原先目录 文件的名称 mv test test1
剪切目录
mv aaa /bbb 将根目录下的aaa目录,移动到bbb目录下(假如没有bbb目录,则重命名为bbb)
mv bbbb usr/bbb 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb
mv bbb usr/aaa 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为aaa
cp
复制目录
cp -r aaa /bbb 将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下的名称为aaa
cp -r aa /bbb/aaa 将/目录下的aa目录复制到/bbb目录下,且修改名为aaa
rm
强制删除指定目录
rm -rf /bbb 强制删除/目录下的bbb目录. 如果bbb目录中还有子目录, 也会被强制删除, 不会提示
删除目录
rm -r /bbb 普通删除, 会询问你是否删除每一个文件
rmdir test01 目录的删除
注意
在公司一定不要运行 rm -rf / 不然的话大概率是奖励一副银手铐.
man
Linux的命令有很多参数, 我们不可能全记住, 这个时候我们可以通过查看联机手册获取帮助.
语法:
man 命令
例如:
当你输入 man ls 就会出现一下画面.
less
语法: less 文件
功能: 查看文件内容, 不会立刻把所有文件都加载到内存中, 也能进行查找.
当我们输入 less 文件 之后就会出现以下画面, 我们可以 按 q 来退出.
- j k /方向键: 向上向下滚动屏幕
- -N 显示每行的行号
- /字符串: 向下搜索 "字符串" 的功能
- n : 重复前一个搜索
- q : 退出
head
语法: head 文件
功能: head 用来显示档案的开头至标准输出中, 默认 head 命令打印其对应文件的开头10行.
tail
语法:head 文件
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行.
date
date 指定格式显示时间: date +"%Y-%m-%d %H:%M:%S"
在显示方面, 可以自定义设置格式:
- %H : 小时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01..31)
- %m : 月份 (01..12)
- %Y : 完整年份 (0000..9999)
- %F : 相当于 %Y-%m-%d
时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
vim
vim 是一个知名的文本编辑器. 前面学习的 cat, less, head, tail 等命令只能查看文本, 不能编辑文本. 使用 vim 就可以进行编辑了.
vim a.java 进入一般模式
i(按键) 进入插入模式(编辑模式)
ESC(按键) 退出
:wq 保存退出(shift+:调起输入框)
:q! 不保存退出(shift+:调起输入框)(内容有更改)(强制退出,不保留更改内容)
:q 不保存退出(shift+:调起输入框)(没有内容更改)
创建文件/打开文件
vim 文件名
进入插入模式
vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键. (例如按下 j 并不是输入字母 "j", 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑.
使用 i 键可以进入到插入模式. (左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑了.
保存
在插入模式下不能保存文件, 需要先回到 普通模式 . 按下 Esc 回到普通模式.
在普通模式下输入 :w , 再按下回车, 即可保存文件.
退出
在插入模式下不能退出, 需要先回到 普通模式.
在普通模式下输入 :q , 再按下回车, 即可退出.
也可以直接使用 :wq 同时执行保存和退出.
grep
语法:grep 文件
功能:用于查找文件中是否包含指定字符串, 并显示对应的行.
选项:
- -n<行数> 显示的行数
- -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
- -r 递归查找. 可以搜索多级目录下的所有文件.
- --color 高亮查找到的结果
- --include 指定查找某些文件
- --exclude 指定排除某些文件
ps
语法:ps 参数
功能:用于查看当前系统上运行的进程
选项:
- a 显示一个终端的所有进程
- u 以用户为主的格式来显示程序状况
- x 显示所有程序,不以终端机来区分
例如:
ps aux # 显示系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"
nestat
语法:netstat [参数]...
功能:查看系统上的网络状态.
选项:
- -a 显示所有正在或不在侦听的套接字
- -n 显示数字形式地址而不是去解析主机、端口或用户名
- -p 显示套接字所属进程的PID和名称