Linux常用命令

本文介绍了Linux系统中关于用户配置和文件操作的基础知识,包括如何切换用户,添加、删除用户,设置密码,以及目录和文件的创建、删除、拷贝、移动等操作。此外,还涉及了文件权限、查找文件、查看磁盘空间等实用命令。
摘要由CSDN通过智能技术生成

1.1用户配置

  1. linux下两种用户

超级用户(root):可以在Linux下做任何事情,不受限制

普通用户:在Linux下做有限的事情

超级用户的命令提示符是“#”

普通用户的命令提示符是"$"

命令:su [用户名]

可以切换输入的用户

切换到root时,直接输入su即可

通常安装虚拟机比如ubuntu时,没有给root配置密码,需要先给root配密码,才能切换到root

使用命令sudo passwd root 再回车 第一次输入的是自己的密码 第二次才是输入的root密码

(sudo命令提升了普通用户的权限)(使用阿里云、腾讯云等非本地的,需要设置复杂的密码)

所有命令的基本使用规则:

命令名 命令参数 操作对象

大部分命令执行成功是没有提示的,执行失败会有提示,会提示失败原因

su 切换用户是压栈效果

exit退出就是弹栈

切换到其他用户后,history是在其他用户的

2、添加用户

命令:useradd 用户名

添加一个普通用户

(普通用户下执行sudo useradd 用户名)

(这个命令创建的用户名通常是不合理的。此时配置的用户不能远程登陆,还需要配置密码,而且没有工作目录)

命令:cat /etc/passwd

查看系统目前有哪些用户

但是,如果要添加一个普通用户user1

ubuntu下配置用户需要执行命令: 

命令:useradd -m user1 -s /bin/bash

系统会在/home下建立一个名为user1的用户

(-s的作用是指定使用的脚本解析器)

常用快捷键:

ctrl a 光标回到最前面

ctrl e 光标回到最后面

3、设置密码

命令:passwd 用户名

设置或修改用户名的密码

4、删除用户

命令:userdel 用户名

删除一个普通用户

(但是删除用户后,其家目录不会被删除,如果要删除家目录,需要userdel -r 用户名)

(第一次删除没有加-r参数,第二次再使用-r用户名,是无法删除家目录的)

注:

/home家目录

/home/user1 user1的工作目录(家目录)

1.2目录及文件操作

1、查看文件或目录

命令:ls [选项] [目录或文件]

列出该目录下所有子目录和文件

ls .. 查看上一级目录(相对路径,不是以/开头的)

ls /home 查看/home路径下的文件信息(绝对路径,以/开头)

常见命令:

ls -a 显示指定目录下所有子目录与文件(包括隐藏文件)

ls -l 列出详细信息

每行列出的详细信息依次是:

文件类型与权限 连接数 文件所有者 文件所属组 文件大小 最近修改时间 文件名字

ls -l . 表示当前目录

ls -l .. 表示上一级目录

ls -l * 遇到文件夹,会把当前文件夹下的文件都列出来

例如-rw-rww-r-- 1 luke luke 0 Feb 16 15:23

-开头的是普通文件

d开头的是文件夹

后面9个字符表示文件的访问权限,分为3组,每组3位

第一组是文件创建者的权限,第二组是同组用户的权限,第三组表示其他用户的权限

每一组三个字符分别表示对文件的读、写、执行权限

r的值为4,w的值为2,x的值为1

命令:man [命令]

查看命令的详细描述

2、改变工作目录

命令:cd 目录名

改变工作目录,将当前工作目录改变到指定目录下

常用的切换目录命令:

cd . 到当前目录

cd ./xxx 到某个文件

cd ..到上一级目录

cd / 到根目录

cd ~到用户家目录下,与直接执行cd效果一样

cd - 到上一次目录

3、显示当前工作目录

命令:pwd

功能:显示用户当前所在目录

4、创建目录

命令:mkdir  目录名

当前目录下创建一个目录

5、删除目录

命令:rmdir 目录名

只能删除空目录

6、拷贝文件或目录

命令:cp [选项] 源文件或目录 目标文件或目录

把指定的源文件复制到目标文件或把多个源文件复制到目标目录中

cp -f 存在同名文件直接覆盖

cp -i 存在同名文件提示是否进行覆盖

cp -r 如果拷贝的是目录,将同时拷贝该目录下的子目录和文件

例如,将/home/user/0718 目录下的所有文件及目录拷贝到/home/user1  目录下,则使用

cp -r /home/user/0718 /home/user1

7、移动文件或目录

命令:mv [选项] 源文件或目录 目标文件或目录 

mv -i 存在重名,提示是否覆盖

mv -f 存在重名,直接覆盖

8、删除文件或目录

命令:rm [选项] 文件或目录

删除一个目录中的一个或多个文件或目录

rm -f 删除过程中不给提示

rm -i 删除过程中给提示

rm -r将该目录及该目录下的目录及子目录全删除

(命令:rm 目录名 是无法删除的,只能删除文件,如果只需要删除文件,不需要加-r,防止目录文件删除)

(一个文件能否被删除,依赖该目录的权限)

9、显示目录树形结构

命令:tree

以树状图列出目录内容

在ubuntu需要执行sudo apt install tree进行安装,才能执行

10、改变目录或文件的权限

命令:chmod

改变文件或目录的访问权限,用户用它控制文件或目录的访问权限

(能不能改变一个文件的权限,依赖于是不是文件的拥有者)

数字设定法:chmod xxx 文件名

(一个文件能否被删除,依赖该目录的权限)

(文件的权限表示能否向文件中操作内容)

11、文件查找

命令:find 起始目录 查找条件 操作对象

在指定目录结构中搜索,并执行指定的操作

 

find . -name file 从当前目录及子目录查找

该命令的查找条件可以是一个逻辑运算符not、and、or组成的复合条件

and:-a表示

命令:find /home/user -name 0718 -a -type d

查找目录类型的文件

命令:find /home/user -name 0718 -a -type f

查找普通文件

or:-o表示

find /home/user -name main.cc -o -name main.c

not:!表示

可以加通配符

*零个或任意多个字符

?单个字符

[]某个范围

命令:find . -empty

查找空文件或空目录

命令:find . -perm 777

查找某个权限的文件

命令:find . -size +1

查找指定文件大小的文件

一个单位为块,代表512字节

(+大于,-小于)

命令:find . -type x

查找类型为x的文件

d 目录文件

f 普通文件

命令:find . -mmin n 

查找n分钟前文件内容被修改过的所有文件

命令:find . -mtime n 

查找n天以前文件内容被修改过的所有文件

命令:find /home/user -name main.c|xargs ls -l

查找目录下名为main.c文件并显示这些文件的详细信息

命令:find /home/user -type f |xargs -i cp {} ~/day1/result

找出当前目录下的普通文件并复制到~/day1/result目录下

|    管道:把前面命令的输出作为后面命令的输入

|xargs  有多个命令时需要加xargs

12、列出文件系统的整体磁盘空间使用情况

命令:df [选项] [文件名]

命令:df -h

以GB、MB、KB等格式显示,可以直接显示整个磁盘使用情况

命令:du -h --max-depth=0 /home/luke

只想显示当前目录的情况

1.3文件查看及处理命令

1、查看文件内容

命令:cat [选项] [文件]

查看目标文件内容

命令:cat file -b 

对非空输出行编号

命令:cat file -n

对输出的所有行编号

2、显示文件内容的前几行

命令:head -n 行数值 文件名

显示目标文件的前几行

命令:head -n 10 main.cc

显示当前目录下main.cc的前10行

重定向符号:

>重定向输出、>>添加输出、

文件描述符是一个整数,代表一个打开的文件,标准的三个描述符号:

标准输入:一般指键盘,描述符为0

标准输出:一般指屏幕输出,描述符为1

错误输出:也是屏幕,描述符为2

创建空文件的四种方式:

1、echo > a.txt 会有一个字节(echo -n >a.txt 为空文件)

2、touch b.txt 

3、cat > c.txt (ctrl c退出)

4、vi d.txt (:wq退出)

3、显示文件的后几行

命令:tail -n 行数值 文件名

显示目标文件的最后几行

命令 histroy |tail -10 >day2_history.txt

把history尾部十行文件输出

4、单页浏览文件

more 或者 less命令(按q退出)

5、对文件内容进行排序

sort 文件名

没有改变原来文件的改变

6、查看文件内容类型

file 文件名 

根据文件内容,判别文件类型

7、报告或删除文件中重复的行

uniq 文件名

只能去重相邻的

-c 在输出行前面加上每行在输入文件

8、统计指定文件中的字节数、字数、行数

wc 文件名

命令:wc -l

统计行数 

命令:ls|wc -l

显示当前目录下的文件个数

9、汉字编码转换

iconv

gbk两个字节   utf8   三个字节

10、搜索文件内容

命令:grep [选项] [查找模式] [文件名1,文件名2,...]

grep过滤器查找指定字符模式的文件,并显示含有此模式(正则表达式)的所有行

命令:ls -l | grep ^d

显示当前目录下的所有子目录的详细信息

命令: ls -l | grep txt$

显示当前目录下以txt结尾的文件

命令:grep world file*

查找当前目录下普通文件所含的字符

1.4命令替换

1、管道与命令替换

2、文件或目录的创建掩码

umask指文件或目录在全部权限中要去掉的一些权限,普通文件缺省时umask的值为002,超级用户为022

3、文档管理

命令:tar [主选项+辅选项] 目标文档 源文件或目录

tar可以为文件和目录创建档案

命令:tar cvf source.tar *

打包所有文件

命令:tar cvzf source.tar.gz *

压缩所有文件

命令:tar xvf source.tar

将归档的文件释放掉

4、scp 远程copy文件命令

scp filename username@ip:path

filename:要发送的文件名称

username:copy到的目标主机的用户名

ip:目标主机ip

path:目标主机路径

如果scp的是文件夹,需要加-r

scp file3 king@192.168.4.52:~/

从本机copy到其他机器

scp  king@192.168.4.52:~/file3 .

从其他机器copy到本机

如果scp的是文件夹,需要加-r

scp -r dir1 king@192.168.4.52:~/

5、ssh协议(安全文件传送协议)

6、用来查看和配置网络设备

ifconfig

当网络环境发生改变时可以通过此命令对网络进行相应配置,只有root权限才可以配置网络

sudo /etc/init.d/networking restart 重启网络

7、查看与设置路由

route -n

当网络不通时,通过执行route查看路由,查看网关配置是否正确

8、ubuntu设置固定ip

无图形化界面配置固定ip

sudo vim /etc/network/interfaces

将下面内容写到interfaces

auto lo

iface lo inet loopback

9、无密钥登录

原理:

加密算法

1、哈希,散列--密码存储验证

盐值salt 

2、对称加密算法-传输加密

加密解密用的同一个密钥

3、非对称加密算法-传输加密

加密解密用的不同密钥,一把公钥,一把私钥

公钥加密的东西只能由私钥解密,私钥加密的东西只能由公钥解密

实现步骤:

第一步:生成公钥和私钥

ssh-keygen 一直回车,生成公钥和私钥

第二步:秘钥复制到服务器的authorized_keys

ssh-copy-id luke@xx.xx.xx.xx 

10、将文件中的内容替换

命令:sed -i "s/world/hello/g" file*

把file中的world字符替换为hello

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值