DEV Community

shuai991102
shuai991102

Posted on

关于linux命令

@ : 分割符
~ 家目录 【当前目录的路径】
$ 普通用户权限

管理员权限

sudo su 切换管理员权限
exit 回到普通用户权限

ls命令

ls    查看当前目录下的所有文件或文件夹
ls -a    查看当前目录下的所有文件或文件夹,包括隐藏文件
ls 目录名   查看该目录下的所有文件
ls 文件名    把文件名这个字符串,进行打印
ls dir1/dir2    查看当前目录下的dir1下的dir2的所有文件及目录
ls dir1 -a    查看当前目录下的dir1的所有文件及目录,包括隐藏文件
ls -l        查看当前目录下的所有详细信息
ls -la        查看当前目录下的所有详细信息包括隐藏文件
ls -lh        查看当前目录下的所有详细信息,并以K M G 等为单位进行显示
ls -lha      查看当前目录下的所有详细信息,并以K M G 等为单位进行显示,包括引出那个文件
ls dir3/dir1 -lha            查看dir3下面的dir1目录的所有详细信息,以KMG等为单,包括隐藏文件
-alh:a,显示隐藏文件        h:文件的大小带单位的显示             l:详细信息
Enter fullscreen mode Exit fullscreen mode

关于文件类型

shuai@ISS:~/01day$ ls -lh 02.cpp
-rw-r--r-- 1 shuai root 1.2K Nov 26 16:41 02.cpp

-rw-r--r--:这部分是文件的权限设置。
-:这是一个普通文件。如果是目录,则此处会显示为 d。
rw-:文件所有者(在这个例子中是用户 shuai)的权限。r 表示可读,w 表示可写。没有 x,所以不可执行。
r--:所属组(在这个例子中是 root 组)的权限。组成员可以读取文件,但不能写入或执行。
r--:其他用户的权限。他们可以读取文件,但不能写入或执行。
1:这表示文件的硬链接数。硬链接是文件系统中的不同路径,它们指向同一个文件。

shuai:文件的所有者用户名。

root:文件所属的用户组。

1.2K:文件大小。-lh 选项使得大小以易读的格式显示,即以 K(千字节)、M(兆字节)等单位显示。在这里,文件大小是 1.2 千字节。

Nov 26 16:41:文件的最后修改时间。
Enter fullscreen mode Exit fullscreen mode

02.cpp:文件名。
bcd-lsp

b:   块设备文件
c:   字符设备文件
d:   目录文件
-:   普通文件
l:   链接文件,软链接文件
s:   套接字文件    
p:   管道文件
Enter fullscreen mode Exit fullscreen mode

cd指令

cd dir3        进入到当前目录下的dir3目录
cd              直接回到家目录下
cd ~            直接回到家目录下
cd dir3/dir1    进入到当前目录下的dir3下的dir1目录
cd ..            进入到当前目录下的上一级目录
cd -             回到上一次操作的目录下,并打印绝对路径   
Enter fullscreen mode Exit fullscreen mode

cat指令

cat file1        查看文件中的内容
cat file1 -n      在查看文件中内容时,显示行号
Enter fullscreen mode Exit fullscreen mode

底行模式

 **命令行模式**
【选中】y           随意复制
p                  粘贴(当选中复制时,粘贴在光标后)
【选中】 d          可以随意剪切 
gg                 光标移动到首行的第一个字符
G                  光标移动到尾行的第一个字符
ggyG               复制全文
gg=G               自动调整全文格式
=                  选中,自动调整格式
u                  撤回上一次操作
ctrl r             反撤回
w                保存
q                退出
wq               保存并退出
q!               不保存,并强制退出
/字符串            查找,并高亮显示
noh                取消高亮
%s/字符串1/字符串2/g    把全文字符串1替换为字符串2
set number/nu           显示行号
set nonumber/nonu       取消行号
Enter fullscreen mode Exit fullscreen mode

ps

ps -ajx 查看进程的信息

Image description

Linux下的软件包标准

oneko_1.2.sakura.6-13_amd64.deb debian的软件包标准
oneko_1.2.sakura.6-13 _amd64. deb
| | | | |
软件名 主版本号 修订版本号 支持64位架构 debian的软件包标准
i386 ----->支持32位架构 rpm是redhat的软件包标准

head、tail

head  文件名,默认显示文件的前10行,如果不足全部显示
head -n 文件名,显示文件的前n行

tail  文件名,默认显示文件的后10行,如果不足全部显示
tail -n 文件名,显示文件的后n行

Enter fullscreen mode Exit fullscreen mode

| 管道符

把前一条指令的输出,用作后一条指令的输入。

Image description

find -----> 查找文件

find 查找路径 -name 查找的文件名
如果文件在当前路径下 find -name 文件名

file ----> 查看文件的信息

file 文件名

Image description

ELF: ---->可执行文件
64-bit LSB shared object  :  ---->支持64位操作系统小端存储
x86-64, :  ---->架构
version 1 (SYSV), :  ---->版本
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2 ---->链接到的库
for GNU/Linux 3.2.0 ---->编译器版本
BuildID[sha1]=d031a0c1247ceeac5de8f8fc0d143d9040676355,:  ---->动态ID
not stripped:  ---->没有压缩
Enter fullscreen mode Exit fullscreen mode

grep --->查找字符串

grep 要查找的字符串 从哪个文件中找

-n:回显行号
-R:在目录下递归搜索
-i:不区分大小写
-w:按单词查找
参数的位置可以任意
grep "^ubuntu" /etc/passwd  在/etc/passwd中查找,以Ubuntu为开头的字符串
grep "ubuntu$" /etc/passwd  在/etc/passwd中查找,以Ubuntu为结尾的字符串
grep "^ubuntu$" /etc/passwd 在/etc/passwd中查找,既以Ubuntu为开头也为结尾的字符串,查找,/etc/passwd中只有Ubuntu的一行 
Enter fullscreen mode Exit fullscreen mode

cut -----> 截取字符串

cut -d "分隔符" -f "要截取的域" 截取的字符串

截取出Ubuntu用户在/etc/passwd中的哪一行
grep "ubuntu" /etc/passwd -n | cut -d ":" -f "1"
要截取的域,如果是多个可以以逗号作为分隔,
如果是一个范围,可以使用1-3

Image description

压缩/解压缩 ----> 针对文件

**压缩**
gz:  gzip 要压缩的文件 -----> 文件名.gz
bzip: bzip2 要压缩的文件 -----> 文件名.bz2
xz:  xz 要压缩的文件 -----> 文件名.xz
**解压缩**
gz:  gunzip  文件名.gz
bzip: bunzip2 文件名.bz2 
xz:  unxz 文件名.xz 
Enter fullscreen mode Exit fullscreen mode

压缩效率:xz>bzip2>gz
压缩时间:xz>bzip2>gz
xz一般用于,需要把文件归档。
gz一般用于,临时需要的文件传输。

归档和拆包 tar ****

tar可以将文件进行归档和拆包,归档和拆包后源文件仍然存在。

**归档并压缩**
tar -cvf 归档要生成的文件名.tar  要归档的文件
-c:归档
-v:显示过程
-f:后面一定要接文件名
tar -jcf 归档要生成的文件名.tar.bz2  要归档压缩的文件---->使用bzip2工具进行压缩
tar -Jcf 归档要生成的文件名.tar.xz  要归档压缩的文件---->使用xz工具进行压缩
tar -zcf 归档要生成的文件名.tar.gz  要归档压缩的文件---->使用gz工具进行压缩
**拆包**
tar -xvf 要拆包的文件名.tar
-x:拆包的参数

万能的拆包并解压缩指令
tar -xf  要拆包解压缩的文件.tar.gz/xz/bz2
如果想要使用对应格式的工具,gz -xzf ,bz2 -xjf ,xz -Jxf
Enter fullscreen mode Exit fullscreen mode

wc ----> (word count)

wc 文件名 ---->回显文件名,单词个数,行数
wc -l 文件名 ----->回显行号
wc -w 文件名 ----->回显单词个数
wc -c 文件名 ----->回显字符个数
Enter fullscreen mode Exit fullscreen mode

文件权限相关的操作

chmod:
rw- rw- r--
| | |
文件所属用户u 文件所属组用户g 其他用户o

所有用户 a
1、字母表示法修改文件权限
给组用户添加可执行权限,给其他用户添加可读权限
chmod o+r
chmod g+x
2、八进制表示法
r:4 w:2 x:1
chmod 3 1.c 把1.c的其他用户权限赋成了可写可执行,所属和组用户,权限都是0
chmod 0775 1.c

修改文件的所属组----->chgrp

sudo chgrp root 02.cpp ---->把02.cpp的组用户改成了root

修改文件的所属用户---->chown

sudo ---->因为现在Ubuntu中只有root和Ubuntu(我的是改名为shuai)涉及到超级用户,需要添加权限
sudo chown root 1.c ----> 把1.c的所属用户改成了root
sudo chown ubuntu: 1.c ----->把1.c的所属用户和所属组用户都改成了Ubuntu
sudo chown :root 1.c ---->把1.c的上所属组用户改成了root
sudo chown ubuntu:root 1.c ---->把1.c的所属用改成了Ubuntu把1.c的所属组用户改成了root

创建链接文件

1、创建软链接文件
ln -s 被链接文件的绝对路径 链接文件的绝对路径

1、windows下不支持软链接文件,linux下的压缩包要到Linux中解压
2、软链接文件可以理解为快捷方式
3、软链接文件和被链接文件任意一个被修改,都会影响到另一个
4、当被链接文件被删除时,软链接文件会变成红色,链接失效,
如果再创建一个同路径下同名的文件,软链接文件会重新链接,变成蓝色
5、软链接文件的文件类型是l
6、软链接文件在创建时用绝对路径

Image description
创建硬链接文件
ln 被链接文件的绝对路径 链接文件的绝对路径
ln 2 3 给当前路径下的文件2创建了一个链接文件3

1、硬链接文件可以理解为复制
2、硬链接文件和源文件有相同的inode号(是文件的唯一标识)
3、如果源文件被删除了,硬链接文件仍然存在,硬链接文件会增加文件描述中链接文件的个数
只有链接文件个数为0,文件才被删除
4、硬链接文件和被链接文件任意一个被修改,都会影响到另一个

关于关机、重启指令

【关机】
shutdown 10:08 ---->Ubuntu会在10:08分关机
shutdown +10 ---->Ubuntu会在10分钟后关机
shutdown now ---->Ubuntu立即关机
【重启】
shutdown -r 10:08 ---->Ubuntu会在10:08分关机
shutdown -r +10 ---->Ubuntu会在10分钟后关机
shutdown -r now ---->Ubuntu立即关机
sudo reboot ----->立即重启(常用)

关于用户一些指令

【1】查看当前用户
whoami
【2】查看用户id
id 用户名
【3】创建用户
sudo adduser 用户名 ----->一定要加sudo,因为涉及到对于根目录下文件访问
注:
1、/etc/skel:所有用户都需要的配置信息,模板目录
2、/etc/passwd:用户的详细信息
ubuntu: x: 1000:1000:guoq:/home/ubuntu:/bin/bash
| | | | | | |
用户名 加密过 uid gid 描述信息 家目录 用户使用的shell解析器
3、/etc/shadow:用户的密码,里面存放的是加密过的密码
4、/etc/group:所有组的信息
【4】给新用户添加sudo权限
新用户默认没有sudo权限,需要手动添加
sudo vim /etc/sudoers
【5】删除用户
userdel 用户名:默认不删除家目录
userdel -r 用户名:删除用户同时删除家目录
deluser 用户名:默认不删除家目录
可以手动的删除用户家目录
【6】usermod ---->修改用户信息
sudo usermod -c 描述信息 用户名 ---->修改用户的描述信息,描述信息是图形化界面可以看到的部分,比如开机时

去/etc/passwd中查看现象

sudo usermod -l 新的用户名 用户名 ---->修改用户名

去/etc/passwd中查看现象

sudo usermod -m -d 新的家目录位置 用户名 ---->修改用户家目录
-m --MOVE -d --USER_DIR
sudo usermod -g 目标组 用户名 ---->修改用户的所属组,要保证目标组存在
查看已有的组
sudo vim /etc/group

磁盘相关的指令

【1】查看磁盘使用率
df -h
也可以查看到U盘的挂载点
对于自动挂载的挂载点,如何取消挂载:
sudo umount /media/ubuntu/2F9944A53E2BB9B6
【2】磁盘分区
sudo fdisk /dev/sdb
m:打印帮助
n:新建分区
d:删除分区
p:打印分区
w:保存修改
q:退出
【3】磁盘格式化
sudo mkfs.ntfs
mkfs.按两下table键,可以显示所有能够格式化的文件格式
ntfs在windows下用的,ext4在Ubuntu下用的
【4】磁盘挂载
sudo mount /dev/sdb1 ~/udisk

把/dev/sdb1分区挂载再~/udisk下

挂载成功后,对于挂载点的操作就是对U盘的操作
取消挂载要写
sudo umount /dev/sdb1

Top comments (0)