linux系统常用命令

  1. cd命令

cd 目录文件名 进入指定的目录

cd / 进入根目录

cd ~ 进入当前用户的家目录 也可以直接 cd 回车

cd . 进入当前路径

cd .. 进入上一级路径

cd - 进入上一次所在的路径

路径之间使用 / 分隔的

cd /home/linux/目录1 绝对路径的用法

cd ./目录1 相对路径的用法

cd ../.. 进入上一级路径的上一级路径

  1. 查看文件的命令

2.1 ls命令

ls 列出当前路径下所有的文件

ls 文件名 列出指定的单个文件

ls 目录名 列出指定目录下的所有文件

ls -a 列出当前路径下所有的文件,包括隐藏文件 隐藏文件都是以 . 开头的

ls -l (小写的L)列出当前路径下所有的文件 包括文件的详细信息

ls -lh 列出当前路径下所有的文件 包括文件的详细信息,且文件大小用 K M G 单位显示

2.2通配符

2.2.1 *

通配任意长度的任意字符

原有文件:

ABCD.c A.c B.c C.c D.c hqyj2.txt jhkajsdhfkjasdhf.txt

a.c b.c c.c d.c hqyj1.txt hqyj3.txt kajsdhfjkashdf.c

ls *:

ABCD.c A.c B.c C.c D.c hqyj2.txt jhkajsdhfkjasdhf.txt

a.c b.c c.c d.c hqyj1.txt hqyj3.txt kajsdhfjkashdf.c

ls *.txt:

hqyj1.txt hqyj2.txt hqyj3.txt jhkajsdhfkjasdhf.txt

ls A*:

ABCD.c A.c

2.2.2 ?

通配一个长度的任意字符

原有文件:

ABCD.c A.c B.c C.c D.c hqyj2.txt jhkajsdhfkjasdhf.txt

a.c b.c c.c d.c hqyj1.txt hqyj3.txt kajsdhfjkashdf.c

ls ?.c:

a.c A.c b.c B.c c.c C.c d.c D.c

ls ????.c:

ABCD.c

ls hqyj?.txt:

hqyj1.txt hqyj2.txt hqyj3.txt

2.2.3 [字符1字符2字符n].c

[abc] 通配abc中的任意一个字符

原有文件:

ABCD.c A.c B.c C.c D.c hqyj2.txt jhkajsdhfkjasdhf.txt

a.c b.c c.c d.c hqyj1.txt hqyj3.txt kajsdhfjkashdf.c

ls [abcqwer].c:

a.c b.c c.c

2.2.4 [起始字符-结束字符]

[0-9] 通配0~9中的任意一个字符

原有文件:

ABCD.c A.c B.c C.c D.c hqyj2.txt jhkajsdhfkjasdhf.txt

a.c b.c c.c d.c hqyj1.txt hqyj3.txt hqyj4.txt kajsdhfjkashdf.c

ls hqyj[1-3].txt:

hqyj1.txt hqyj2.txt hqyj3.txt

如果是字母,涉及到本地语序

本地语序默认 aAbBcC...zZ

清空本地语序: export LC_ALL=C

清空本地语序之后 abc..zA...Z:

恢复本地语序:unset LC_ALL

ls [a-c].c:

a.c b.c c.c

ls [A-C].c:

A.c B.c C.c

7.5 [^字符1字符2字符n]

[^abc] 反选,不包括abc中的任意一个字符

原有文件:

ABCD.c A.c B.c C.c D.c hqyj2.txt jhkajsdhfkjasdhf.txt

a.c b.c c.c d.c hqyj1.txt hqyj3.txt hqyj4.txt kajsdhfjkashdf.c

ls [^abc].c:

A.c B.c C.c d.c D.c

2.3 cat 命令

cat 普通文件名 查看文件内容

cat -n 普通文件名 带行号显示文件内容

2.4 head 命令

head 文件名 //显示文件开头的内容 默认显示前10行

head -n 20 文件名 //显示文件开头的内容 显示前20行

head -30 文件名 //显示文件开头的内容 显示前30行

2.5 tail 命令

tail 文件名 //显示文件结尾的内容 默认显示后10行

tail -n 20 文件名 //显示文件结尾的内容 显示后20行

tail -30 文件名 //显示文件结尾的内容 显示后30行

tail -f 文件名 //动态的显示文件新增的内容,常用查看日志文件(应该是打印最后一次操作)

| 管道符:作用是将前面命令的结果作为后面命令的参数

head -105 file1 |tail -n 6 显示文件第100到105行的内容

2.6 more 命令 --不常用

more 文件名:按百分比显示文件内容,按回车键 向下滚动,按 q 退出

2.7 less 命令 --不常用

less 文件名 :滚动显示文件内容,按方向键的上下控制滚动,按q退出

2.8 查看二进制文件 --不常用

od -c 二进制文件名

2.9 pwd命令

pwd 显示当前所在的绝对路径

2.10 whoami命令

whoami 查看当前使用的用户

  1. 创建删除的命令

3.1 mkdir命令

mkdir d1 在当前路径下创建一个目录文件,名为 d1

mkdir ~/d2 在当前用户的家目录下创建一个目录文件,名为 d2

mkdir d1 d2 d3 在当前路径下并列的创建三个目录文件 分别名为 d1 d2 d3

mkdir -p d1/d2/d3 在当前路径以嵌套的形式创建 d1/d2/d3

3.2 touch命令

touch f1 如果文件f1不存在,表示在当前路径新建普通文件 名为 f1

如果当前路径已经存在文件f1 表示更新文件的时间戳

3.3 rmdir命令

rmdir 目录文件名 删除目录文件 注意:这个命令只能删除空目录

3.4 rm命令

rm 文件名 删除指定的文件

rm -r 目录文件名 如果删除的是目录文件 需要加 -r 选项

rm -f 文件名 忽略提示信息 直接删除

rm -rf //常用的用法

3.5 cp命令

注意对比vi中的strcpy语序(cp前到后,strcpy后到前)

cp file1 file2 如果文件file2不存在,表示将文件file1复制一份儿取名为 file2

如果文件file2存在,表示将文件file1复制一份儿取名为 file2,会覆盖原来的 file2

cp file1 dir1 将文件file1复制一份,放到目录dir1里面

cp -r dir1 dir2 如果目录dir2不存在,表示将目录dir1复制一份儿取名为 dir2

如果目录dir2存在,表示将目录dir1复制一份放到 dir2 里面

3.6mv命令

注意对比vi中的strcat语序(mv前到后,strcat后到前)

mv file1 file2 如果文件file2不存在,表示将文件file1重命名为 file2

如果文件file2存在,表示将文件file1重命名为 file2,会覆盖原来的 file2

mv file1 dir1 将文件file1移动到目录dir1里面

mv dir1 dir2 如果目录dir2不存在,表示将目录dir1重命名为 dir2

如果目录dir2存在,表示将目录dir1移动到 dir2 里面

  1. clear命令

清屏 或者使用快捷键 ctrl l(小写的L)

  1. exit命令

su 用户名 切换用户 需要密码

如果涉及到用户切换,exit表示退回到上一次的用户

如果已经是最开始的用户了 再执行exit表示退出终端

  1. 解压缩命令

操作对象是单个文件。

压缩命令 压缩完后缀

gzip ---> .gz

bzip2 --> .bz2

xz --> .xz

上述三种压缩方式:

压缩率:从上到下是依次递增的

压缩速率:从上到下是依次递减的

(1)gzip 文件名 将文件按照gzip格式压缩

压缩后,源文件就不存在了,会生成文件名.gz 的压缩后的文件,

解压命令 gunzip 文件名.gz

(2)bzip2 文件名 将文件按照bzip2格式压缩

压缩后,源文件就不存在了,会生成文件名.bz2 的压缩后的文件,

解压命令 bunzip2 文件名.bz2

(3)xz 文件名 将文件按照xz格式压缩

压缩后,源文件就不存在了,会生成文件名.xz 的压缩后的文件,

解压命令 unxz 文件名.xz

  1. 归档和解归档--tar

也叫作(打包和解包)

操作对象是多个文件,一般多用于操作目录文件,

会将目录文件自身及其子目录下所有的文件都归档成一个文件。

归档默认是不压缩的。

归档的命令 tar

tar 命令的参数

-c 归档

-x 解归档

-v 显示详细信息

-f 必须写在选项最后 后面就接文件名了

附加选项:

-z 归档的同时将归档后的文件按gzip格式压缩

-j 归档的同时将归档后的文件按bzip2格式压缩

-J 归档的同时将归档后的文件按xz格式压缩

归档的操作:

tar -cvf dir.tar dir 作用是将dir目录及其子目录下所有的文件归档成一个名叫

dir.tar 的文件,归档后的文件名随便起,一般操作习惯上

原目录文件名.tar

c和v的位置可以互换,但是 f 必须放在最后

解归档:

tar -xvf dir.tar

归档的同时进行压缩:

tar -zcvf dir1.tar.gz dir1

tar -jcvf dir2.tar.bz2 dir2

tar -Jcvf dir3.tar.xz dir3

对应的解归档并解压的命令:

tar -zxvf dir1.tar.gz

tar -jxvf dir2.tar.bz2

tar -Jxvf dir3.tar.xz

通用的解归档并解压的命令:

tar -xvf dir1.tar.gz

tar -xvf dir2.tar.bz2

tar -xvf dir3.tar.xz

  1. 统计文件内容的命令:wc

wc 文件名 统计文件内容

执行上面的命令 会得到下面的信息

5 8 45 file2

行数 单词数 字符数 文件名

wc -l(小写的L) 文件名 统计行数 line

wc -w 文件名 统计单词数 word

wc -c 文件名 统计字符数 char

wc 可以配合通配符来统计多个文件内容

  1. 检索文件内容的命令:grep

grep "string" file1 //在file中检索所有包含 string 的行

grep命令常用的选项:

-n 带行号显示

-i 忽略大小写

-w 精确查找,string有前缀和后缀都不行

-v 反选,不包含 string的行

-R 递归查找,可以检索子目录下文件的内容

常用的用法:

grep -nR "string" * 在当前路径及子目录下的所有文件中检索包含string的行

grep语句中关于"string"也有说法:

grep "^string" file1 在file1中查找以string开头的行

grep "string$" file1 在file1中查找以string结尾的行

grep "^string$" file1 在file1中查找string独自成行的行

  1. 查找文件的命令:find

find 路径 -name 文件名 //在指定的路径及子目录下查找是否存在指定的文件;

find ./ -name 01test.c 在当前目录及其子目录下查找所有名字叫 01test.c 的文件;

find /dev -name mouse0 在/dev目录及其子目录下查找所有名字叫 mouse0 的文件;

注意:find命令是不能配合通配符使用的,会出现下面的问题;

find ./ -name *.c 这个命令的作用不是在当前目录及子目录下找所有.c 结尾的文件,而是会把当前路径下所有的.c文件替换到*.c的位置再执行,如果当前路径有多个.c文件执行是或报错。

查找当前目录及子目录下找所有.c 结尾的文件,可以使用下面的用法

find ./ -type f 查找当前目录及子目录下找所有的普通文件 f 普通

find ./ -type f |grep "\.c" 查找当前目录及子目录下找所有的.c 文件

find ./ -type f |grep "\.c" |wc -l .c文件的个数

拓展:

xargs 将前面命令的结果逐个的作为后面的命令的参数

find ./ -type f |grep "\.c" |xargs wc -l 所有.c文件的行数

  1. 文件内容截取的命令:cut

-d 分隔符

-f 指定要选择的域

注意:cut命令是以行为单位进行操作的

在linux系统中存在一个 /etc/passwd 文件,该文件中记录的就是系统中已有用户的信息。

  1. 文件权限管理--重要

12.1 文件的权限

ls -l 可以查看文件的权限

-rwxrw-r-- 1 yangfs yangfs 0 3月 17 14:11 ABCD.c

rwx 所属用户的权限

rw- 所属组的权限

r-- 其他人的权限

r 读权限

w 写权限

x 执行权限

- 没有对应的权限

12.2 修改文件的权限 chmod

注意:只有文件的所属用户和root用户才能修改文件的权限

(1)需要使用+-的方式修改。

u 所属用户 user

g 所属组 group

o 其他人 other

a 所有的 all

例如:

chmod u-r 文件名 将文件所属用户的读权限减掉

chmod g+w 文件名 将文件所属组的写权限加上

chmod o-x 文件名 将文件对其他人的执行权限减掉

chmod a-r 文件名 将文件的所有读权限都减掉

(2)使用八进制数来修改

linux系统使用3个八进制数来表示权限

0777--->rwxrwxrwx

0664 --->rw-rw-r--

0541 --->r-xr----x

chmod 664 file1 将file1的权限修改为 rw-rw-r--

chmod 440 file2 将file1的权限修改为 r--r-----

拓展:

touch创建的文件默认权限是:0666 & ~umask

umask默认为0002

所以默认权限是 0664

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值