Linux基本命令

日期时间 date

修改时间
date -s “2019-7-2 16:47”
(set 设置)

时间字符串,需符合规范
月份的范围 1~12
时分秒也要符合常识
否则,会显示无效的日期

日历 cal

(calendar 日历)

cal
后面不加参数,默认显示当前月份的日历

cal 2019
显示2019年的日历
参数只有1个,表示年份

cal 8 2008
显示2008年8月份的日历
参数有2个,分别表示月份、年份

清空屏幕内容 clear
快捷键:ctrl + L

再打开一个终端
ctrl + shift + t

路径

/
根目录

/etc/
根目录下的etc文件夹

/var/ftp/a.txt
根目录下的ftp文件夹下的a.txt文件
开头第一个/,表示根目录
之后的所有/,表示父目录和子目录之间的分隔符

~
当前用户的家目录

.
当前目录

· ·
上层目录

绝对路径
写法上,以“/”开头的路径
/home
/etc/hostname

相对路径
以当前所在的位置作为参照,来描述一个路径

切换文件夹

cd 路径
(change 改变 directory)

cd
后面如果不跟任何参数,默认回到家目录

cd /var/ftp
切换到 /var/ftp 里

cd … 跳到上一层目录
cd …/… 跳到上一层的上一层

cd -
从哪儿来的,到哪儿去(返回)

===================
打印当前路径(我在哪儿)
pwd
(print 打印 working 正在工作 directory)

ls

列出文件夹里的内容 ls
(list)

ls
后面不加参数,默认列出当前目录下的内容

ls /var
列出指定目录下的内容

ls / /var
同时查看两个路径里的内容

===========================
命令的格式

命令

命令 参数

命令 选项

命令 选项 参数
ls -a /
列出根目录里的所有内容(包含隐藏文件)

ls -a
(all,所有的,包含隐藏文件)

ls -l
(long,长格式,显示详细信息)

ls -al
查看所有内容的详细信息
选项可以组合使用

ls -lh
(human 人类)
h选项不能单独使用,要跟L配合

=============================
手册 man
(manual)

man ls
查看ls命令的手册

文件

创建 touch a.txt
touch b.txt c.txt
touch ./a.txt
在当前目录里,创建a.txt

用ls来查看有没有创建成功

删除 rm a.txt
(remove 移除、移走)
rm b.txt c.txt

rm -f a.txt
(force 强制)
不再询问用户要不要删除

文件夹

创建 mkdir 628
(make 创建 directory 文件夹)
mkdir abc ddd

用ls来查看有没有创建成功

mkdir -p Jay/music/qlx
(parent 父母、父目录、缺啥补啥)

删除 rm -r 628
(recursive 递归)

rm -rf /home/zhaobenshan

=====================
上下方向键
从历史记录(history)里查找命令

tab键
自动补全命令、文件名
如果类似命令只有一个,可以直接补全
如果有多个,再按一次tab,可以列出候选项

调用“上一条命令”的最后一个参数
alt + .

echo的使用

echo 参数
echo hello
效果:hello

echo hello world
效果:hello world
这是两个参数

echo “hello world”
效果:hello world
这是1个参数

echo 默认带有换行效果
echo -n “hello”
可以去除自带的换行效果

输出重定向

命令执行完,默认把结果显示在屏幕上
如果不想显示在屏幕上,可以用重定向

覆盖
date > a.txt
cal > a.txt
echo hello world > a.txt

追加
date >> a.txt
cal >> a.txt
echo hello world >> a.txt

统计字数 wc

(word 字 count 统计)

wc 文本文件名
wc a.txt
效果:1 0 1 a.txt
行数 字数 字节数 文件名

wc -l a.txt
(line 行) 只统计行数
效果:1

=======================
清空文件里的内容

echo “” > a.txt
其实还是会有一个空行

echo -n “” > a.txt
不带有换行功能,但这样写比较复杂

a.txt
完全清空内容

查看文本文件内容 cat

(concatinate 连接)

cat 文本文件名
cat a.txt
cat b.txt c.txt

cat -n a.txt
带有行号显示文本内容(number)

=====================
head

查看文本文件的头10行(默认)
head a.txt

head -3 a.txt
查看文本文件的头3行

tail

查看文本文件的末尾10行(默认)
tail a.txt

tail -5 a.txt
查看文本文件的末尾5行

vim编辑器

Linux系统里的文本编辑器

vim a.txt
如果文件已存在,则直接打开进行编辑
如果不存在,存入内容后会自动创建,否则不创建

【基于模式】

编辑模式
按 i 键进入编辑模式(insert 插入)
o 在当前行的下方另起一行进入编辑模式
O 在当前行的上方另起一行进入编辑模式
按 Esc 键退出编辑模式(escape 摆脱)

一般模式
通过vim命令进入的模式

末行模式
在一般模式下按英文冒号:键进入末行模式
:w 保存(write 写)
:q 退出(quit 退出)
:wq 保存并退出 (write quit)
:q! 强制退出,不保存,直接退出
:set nu 显示行号(number)
:set nonu 不显示行号

让"行号"永久生效:
在当前用户的家目录里,有个 .vimrc 文件
如果没有该文件,可自行创建一个
写入:
set nu
保存并退出

以后再使用vim时,都会显示行号

如果指定tab键是4个空格:
set tabstop=4

=========================
查找关键字(在一般模式下)

/关键字 从上往下查找
?关键字 从下往上查找

按n,切换下一个匹配项(next)

=========================
替换关键字

先输入英文冒号:进入末行模式
范围 s/old/new/选项

【范围】
如果不写,表示只把“当前行”的old改为new
% 表示把“全文”的old都改为new
5,9 表示把5~9行的old改为new
.,+2 当前行+接下来两行

s 替换 (substitute)

【选项】
c 每次替换前,确认是否删除(y/n/a)
i 忽略大小写、不区分大小写(ignore)
e 不显示错误信息(error)

==============================
以下操作,都是在一般模式下:

复制 nyy (yanked 猛拉、复制)
(n表示整数,比如3、4,如果是1,可省略)
从当前行开始,复制n行

如果n>=3,系统会提示“复制了n行”
否则,不提示

粘贴 np (paste 粘贴)
在当前行下方,粘贴n遍

剪切(删除) ndd (delete 删除)
从当前行开始,删除n行
其实并不是真的删除,而是放到剪切板里

如果紧接着做了“粘贴”,则是剪切,否则是删除

==========================
撤销 u (undo)
重做 ctrl + r (redo)

跳转行
ngg (n是整数,表示目标行数)
或者在末行模式下 :n
跳到第1行 gg
跳到最后1行 G

在打开文件的同时,跳到第7行
vim a.txt +7

调节“内容”在屏幕中的显示位置
zt 置顶当前行,通常用来查看完整的下文(top)
zz 将当前行移到屏幕中部
zb 移到底部(bottom)

调节“光标”在屏幕中的位置
H 可以移动到屏幕的首行
M 到屏幕中间
L 到屏幕尾行

如果使用vim命令时,没加任何参数
相当于新建一个暂时没有名字的文件
在保存时,要指定文件的名字
w a.txt
q

或者 wq a.txt

==========================
按页查看内容

每次翻半页
ctrl + u (up 上)
ctrl + d (down 下)

每次翻一页
ctrl + f (forward 前进)
ctrl + b (backward 后退)

==========================

管道 |

命令1 | 命令2
把命令1执行完的结果,通过管道,给命令2继续处理

ls | head
列出当前目录下的前10个文件

================================
显示文本文件的前5行,并带有行号
cat -n a.txt | head -5

bc 计算器
echo 1+2 | bc

================================
临时设置别名

alias 别名=“本来的命令”
alias qu3=“cal | head -5 | tail -3”

执行:qu3

通过命令设置的别名,是临时生效
重启终端以后,别名不存在

取消临时别名
unalias qu3

永久设置,需要修改配置文件
在当前用户的家目录里,有个隐藏文件 .bashrc
(bash resource 资源)
把设置别名的语句,写入该文件
重新打开终端

列出系统里的别名
alias

查询某个别名的信息
alias 别名
alias gos
效果:alias gos=‘ssh root@172.25.0.11’
也可以同时查询多个别名,写在参数里

通配符 * ?


可以匹配任意长度的字符
ls *.txt
列出当前目录下,所有.txt后缀的文件

?
可以匹配1位字符
ls ?.txt
列出名字是一位、后缀是txt的文件
ls ??.txt
列出名字是两位、后缀是txt的文件

ls a?b.txt
ls a*b.txt

===========================

计算器 bc

(binary compute)

      • / %
        加 减 乘 求商 求余

1+2
3-4
5*6
12/5
3%5

复制 cp (copy)

cp 要复制的文件 要复制到的地方

cp a.txt music
cp a.txt b.txt c.txt music

最后一个参数,表示要复制到的地方,
其余参数,表示要复制的文件(可以是多个)

拷贝文件夹
cp -r abc/ music/

剪切 mv (move)

mv 要移动的文件 要移动到的地方
mv a.txt music
mv a.txt b.txt c.txt music

移动文件夹
mv ddd/ music/

重命名
mv a.txt music/bbb.txt
cp date.txt music/date02.txt

mv date.txt date03.txt
mv music pic

打包展开 tar

打包

tar -cvf a.tar a.txt b.txt music
(create 创建 file 文件 view 可见)
f后面,直接跟压缩包的名字
f不能跟其它选项换位置,必须在最后

通过命令列出压缩包里的内容
tar -tf a.tar
(t表示list,列出)

打包并压缩

tar -zcvf a.tar.gz a.txt b.txt music

展开

tar -xvf a.tar
(extract 展开)
默认把a.tar里的内容展开到当前目录

展开到一个指定的目录(大写C)
tar -xvf a.tar -C 目录名

解压并展开

tar -zxvf test.tar.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值