Linux基础(常用命令+vi基本使用)

常用命令

ls

常用参数:
-l 列表 显示详细信息
第一个字符为d时,表示目录
例如:
在这里插入图片描述
第一个字符为-时,表示普通文件类型,包括 纯文本文件(ASCII); 二进制文件(binary); 数据格式的文件(data); 各种压缩文件
第一个字符为l时,表示链接

-a 列出所有文件
-t 按修改时间排序 新的在前 sort by modification time, newest first
-r 排序时倒序 reverse order while sorting
-h 可读的文件大小 with -l and -s, print sizes like 1K 234M 2G etc.
-s print the allocated size of each file, in blocks
-F 加上文件类型的指示符号(*/=@| 其中一个) append indicator (one of /=>@|) to entries
显示文件的类型,可执行加 "
", 目录则加 “/”
-R ,–recursive递归显示子目录
-d --directory, 通常,如果指定了目录,ls命令会列出该目录中的内容而非目录本身。将此选项与-l 选项结合使用,可查看目录的详细信息,而不是其中的内容

还可以使用通配符,例如:
ls *.txt 列出所有.txt结尾的文件

useradd

-s 新账户的登录 shell
-m 创建用户的主目录

例: sudo useradd -s /bin/bash -m jack
创建jack用户,为其创建主目录,登录使用shell为bash

?

sudo useradd -mk /home/swift -s /bin/bash swift
-k 的骨架目录是什么意思?
在这里插入图片描述

passwd

修改用户密码
普通用户修改自己的密码password,输入新老密码即可
提示必须选择更长的密码/ new and old password are too similar/ new password is too simple,
可以使用sudo提升权限修改密码

su

切换用户
su 切换至root用户
su - name 切换至name用户,并把当前路径修改为新登录用户的家目录

pwd

显示当前路径

whoami

当前用户

id

用法: id [选项]… [用户]
Print user and group information for the specified USER,
or (when USER omitted) for the current user.
打印指定user的用户和组信息。
或(当USER省略时)当前用户。

-a 忽略,仅为与其他版本相兼容而设计
-Z, --context 仅显示当前用户的安全上下文
-g, --group 仅显示有效用户组ID
-G, --groups 显示所有组ID
-n, --name 显示组名称而非数字,与 -ugG 一起使用
-r, --real 显示真实ID 而非有效ID,与 -ugG 一起使用
-u, --user 仅显示有效用户ID
-z, --zero 使用 NUL 字符而非空格来分隔各个条目,在默认格式下不可使用

gpasswd

-a ,adduser 向组 GROUP 中添加用户 USER

sudo gpasswd -a jack sudo
-d ,–delete USER从组 GROUP 中添加或删除用户
sudo gpasswd -d jack sudo
cat /etc/group可查看是否生效

userdel

-r , --remove 删除主目录和邮件池
-f , --force 强制删除用户帐户,即使用户仍处于登录状态,
它还强制userdel删除用户的主目录和邮件池,
即使其他用户使用相同的主目录,或者邮件池不属于指定的用户。
如果存在与删除用户同名的组,则此组将被删除,即使它仍然是其他用户的主组。
注意:这个选项很危险,可能会使您的系统陷入混乱不一致的状态。

rmdir

删除指定空目录
option:
-p, --parents 删除指定目录及其各个上级文件夹,例如“rmdir -p a/b/c’”
与“rmdir a/b/c a/b a’”类似
例如:
创建多级空目录
在这里插入图片描述
rmdir 最好使用绝对路径(可以使用相对路径,但删除操作应尽量保证安全)

------------ 2024.1.6

rm

删除文件或目录

-r, -R, --recursive 递归删除目录及其内容(将目录下的子目录和文件都删除)
-f ,–force 强制删除。忽略不存在的文件,不提示确认
-i 删除前逐个提示确认

例如:
rm file 直接删除文件file
rm file1 file2 file3 删除多个文件
rm -i file删除文件file前提示确认
rm -rf dir1 删除dir1及其所有内容

cat

连接所有指定文件并将结果写到标准输出。

Linux系统中,/dev/null(空设备文件或黑洞文件)是一个特殊的设备文件,所有
写入其中的数据,都会被丢弃的无影无踪,/dev/null通常被用于丢弃不需要的数
据输出,或作为用于输入流的空文件。这些操作通常由重定向完成。

例如,将本来要输出的内容直接丢弃不要
ls -R > /dev/null

创建/清空 文本文件
cat /dev/null > c.txt
可用于创建文件c.txt
也可用来清空c.txt中的内容

option:
-n 对输出的所有行编号

more

适合屏幕查看的文件阅读输出工具。
空格下一页 B上一页
enter向下n行,需要定义,默认为1行
结束后会将所有内容输出到屏幕

less

Less是一个类似于more的程序,但它有更多的功能。
可以上下滚动,退出不会将内容打印到屏幕

clear

清屏

cd

切换当前目录

ctrl + c

复制/中断当前命令

------------ 2024.1.7

chmod

在添加或者删除某个权限的时候:
u 表示拥有者
g 表示同组人
o 表示其他人
a 表示所有人

chmod u+x b.txt
chmod g-r b.txt
chmod u+r,g-2 b.txt // -数字 无法识别
chmod a=rw b.txt

也可以用数字来表示权限

chmod 777 b.txt
chmod 700 a.txt

权限值
rwx
421

常见权限:
644 读写文件
755 可执行文件

touch

touch a.txt
当a.txt文件不存在的时候,会创建该文件
当a.txt文件存在的时候,会更新文件的修改时间

创建多个文件
touch a b c d
直接创建 a c d 四个文本文件

mkdir

创建目录

创建一个目录
mkdir test

创建多个平级目录
mkdir test1 test2 test3

option
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
例子:
mkdir -p test1/test2/test3

*cp

用法:cp [选项]… [-T] 源文件 目标文件
 或:cp [选项]… 源文件… 目录
 或:cp [选项]… -t 目录 源文件…
将指定<源文件>复制至<目标文件>,或将多个<源文件>复制至<目标目录>。

option
-i, --interactive覆盖前询问(使前面的 -n 选项失效)
-R, -r, --recursive递归复制目录及其子目录内的所有内容
cp -rtest1 test2

复制test1文件及其内容到test2目录中
如果test2目录不存在,则创建test2并把test1目录中的内容复制进去,不包含test1目录
如果test2目录存在,则把整个test1目录及其内容全都复制到test2中,包含test1目录

-n, --no-clobber不要覆盖已存在的文件(使前面的 -i 选项失效)

*mv

用法:mv [选项]… [-T] 源文件 目标文件
 或:mv [选项]… 源文件… 目录
 或:mv [选项]… -t 目录 源文件…
将<源文件>重命名为<目标文件>,或将<源文件>移动至指定<目录>。

-f, --force 覆盖前不询问
-i, --interactive 覆盖前询问
-n, --no-clobber 不覆盖已存在文件
如果您指定了-i、-f、-n 中的多个,仅最后一个生效。

当输入两个文本文件时
源文件的名称会改为目标文件同时将其(目标文件)内容覆盖
例如
mv a.txt b.txt
执行后,将只剩下b.txt,同时其内容为原来a.txt中的内容

当输入mv [选项]… 源文件… 目录
将源文件移至目录
若目录中存在同名文件,则将目录中的同名文件覆盖

当输入为 两个目录时
mv dir1 dir2

dir2不存在时 修改dir1的名字为dir2
dir2存在时,将dir1目录整个(包括dir1和dir1中的文件)移动到dir2里

man

Linux提供了丰富的帮助手册,当需要查看某个命令的参数时,可以使用man
命令。

telnet

ps

ps -ef

wc

统计行数,单词
用法:wc [选项]… [文件]…
 或:wc [选项]… --files0-from=F
打印对每个给定文件的新行、单词和字节计数的结果;如果指定了超过
一个文件,则还会打印一个总行数。此处的一个单词是指由空白字符分隔的
长度大于零的字符序列。

如果没有指定文件,或者文件为"-",则从标准输入读取。

输出每个指定文件的行数、单词计数和字节数,如果指定了
多于一个文件,继续给出所有相关数据的总计。如果没有指定
文件,或者文件为"-",则从标准输入读取数据。
-c, --bytes 输出字节数统计
-m, --chars 输出字符数统计
-l, --lines 输出行数统计
–files0-from=文件 从指定文件读取以空字符(NUL)终止的名称;
如果该文件被指定为 - 则从标准输入读文件名
-L, --max-line-length 显示最长行的长度
-w, --words 显示单词计数

history

查看历史命令

特殊字符

1.*

表示通配,可以代表0~n个字符
例如,列出所有txt结尾的文件ls *.txt

2.?

表示任意的一个字符

3.;

表示在一行语句中连续执行多个命令,命令之间使用分号进行分割
例: 先cd回到家目录,然后再执行ls命令
cd;ls

例: 先显示时间,再显示日历,再显示当前路径
date;cal;pwd

4.>和>>

输出重定向符号,将来原本输出到命令行中的内容,重定向输入到另外一个地
方。
>表示往文件中写入内容,是覆盖操作
例,把hello写入到文件a
echo "hello" > a
a如果不存在,则自动创建,a如果存在,则覆盖之前定内容

>> 表示往文件中写入内容,追加操作
例,先把date命令现实的日期写入a文件,再把cal显示的日历追加到a文件,再查看a文件内容

date >> a
cal >> a
cat a

5.|

管道符,可以把第一个命令的结果,交给第二个命令作为参数进行操作

Ubuntu常用目录

/etc/hostname
/dev/null 黑洞

文件后缀

.cfg 配置文件

vi编辑器

三种模式

  • 命令模式,可使用简单命令进行文本内容的操作
  • 命令行模式,可以使用复杂点的命令进行文本内容操作
  • 编辑模式,可以直接编辑文本内容

命令模式:

ZZ / shift + zz (大写ZZ 或 shift+小写zz) :退出并保存
注意: 会保存更改
dd 删除当前行
u 恢复
yyp yy复制 p删除 3yy复制3行
dw 删除一个单词

G/shift + g 光标到最后一行
gg 第一行
ngg/nG 跳到指定行

编辑模式:

i当前位置进入插入模式
a 光标后一位置进入插入模式
o 新建下一行后进入插入模式

底行模式/命令行模式:

:w 保存
:wq 保存退出
:q 退出
:q! 强制退出(不保存)
:set nu 显示行号
:$ 移动光标至文件末

高级:
:x / ZZ / shift zz 保存退出 (三个都可以)
/ + string + enter(回车) :从当前光标位置查找string
查找下一个,按 n 即可

搜索和替换

电源

sudo poweroff 关机
sudo reboot 重启

熟悉Linux的常用命令和vi编辑器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值