首页 > 系统相关 >Linux基本操作

Linux基本操作

时间:2022-10-26 22:03:00浏览次数:55  
标签:文件 压缩 sudo 目录 find Linux 基本操作 链接

01P-Linux命令基础习惯-Linux系统编程

date 显示系统当前时间

cat /etc/shells 查看当前可使用的shell

echo $SHELL 查看当前使用的shell

主键盘快捷键:

上 Ctrl-p

下 Ctrl-n

左 Ctrl-b

右 Ctrl-f

Del Ctrl-d delete 光标后面的

Home Ctrl-a first letter

End Ctrl-e end

Backspace Backspace delete光标前面的单个字符

清除整行 Ctrl-u

删除光标到行末 Ctrl-k

显示上滚 Shift-PgUp

显示下滚 Shift-PgDn

增大终端字体 Ctrl-Shift-+

减小终端字体 Ctrl- -

新打开一个终端 Ctrl-Alt-T

清屏 Ctrl-l 直接用clear也行

02P-类Unix系统目录

pwd 查看当前所在目录

Linux系统目录:

bin:存放二进制可执行文件

boot:存放开机启动程序

dev:存放设备文件: 字符设备、块设备

home:存放普通用户

etc:用户信息和系统配置文件 passwd、group

lib:库文件:libc.so.6

root:管理员宿主目录(家目录)

usr:用户资源管理目录 unix software resource

查看鼠标日志

03P-目录和文件操作1

cd – 返回上一个目录

Linux系统文件类型: 7/8 种

普通文件:-

目录文件:d

字符设备文件:c

块设备文件:b

软连接:l

管道文件:p

套接字:s

未知文件。

ls 列出当前文件夹下目录项

ll 竖排显示目录项和详细信息,ls -l的缩写

ls -l 显示目录项详细信息

ls -l dirname 显示dirname中目录详细信息

ls -dl dirname 显示dirname本身的详细信息

ls -R 递归查看目录

ls -Rl 递归展示详细信息

文件权限说明

目录项详细信息

文件权限 硬链接计数 所有者 所属组 大小 时间 文件名/文件夹名

权限具体展开

-rw-r—r—

1234567890

1代表文件类型

234代表所有者读写执行权限

567代表同组用户读写执行权限

890代表其他人读写执行权限

which instruct查看instruct命令所在目录位置

隐藏终端中的路径

vi ~./bash 打开使用的shell环境配置文件

末尾添加 PS1=$ 保存退出,重启终端即可

效果如下:

mkdir dirname 新建目录

rmdir dirname 删除空目录,非空目录删不掉

touch filename 创建名为name的空文件

rm filename删除文件

rm -r dirname 递归删除目录

rm -rf dirname 强制删除

mv file1 file2 location

将文件1和文件2移动到目标位置

cp filename dirname 复制文件到目录

cp filename1 filename2 复制文件1并重命名为文件2

cp -a dirname1 dirname2 复制目录1及其下所有文件到目录2

cp -r dirname1 dirname2 递归复制目录1到目录2

这里-a和-r的差别在于,-a是完全复制,文件权限,改动时间什么的也完全相同。

04P-目录和文件操作2

cat filename 查看文件内容

tac filename 逆转查看文件内容

cat 读取终端,就是回显

more filename 和cat差不多,但是对于大文件查看很强势

空格翻页,回车一行

用q或者Ctrl-c退出

less filename 也和cat差不多

空格翻页,回车一行

用q或者Ctrl-c退出

head -n filename 查看文件前n行

不加-n参数默认查看10行

tail -n filename 查看文件后n行

默认查看10行,顺序显示的,不是倒序显示,1-10查看后4行是78910

tree 命令,查看当前目录结构树

需要安装tree

05P-软链接和硬链接

ln -s file file.s 创建一个软链接

软链接就像windows下的快捷方式

这里软链接的大小是文件路径

Linux下的软链接行为和windows下的快捷方式差不多,但是如果是用相对路径创建的软链接,在软链接移动之后就会失效,无法访问。这一点和windows快捷方式不同,windows快捷方式随便放哪里都行。

失效的软链接

所以,创建软链接最好使用绝对路径

移动后,绝对路径创建的软链接不会失效

上图要注意,软链接的权限指的是这个软链接本身的权限,不是软链接指向文件的权限

ln file file.h 创建一个硬链接

创建硬链接后,文件的硬链接计数+1

再创建一个硬链接

这里对于file1,有2个硬链接file.h和file.hard,无论更改哪个硬链接或者文件本身,这三个文件的变化同步

产生这种同步变化的原因:

可以看到文件和硬链接的Inode是相同的,每个文件都有唯一的Inode,直观理解起来就像洗佳佳里面的引用,对于同一个文件,无论有多少引用,在访问时,都是这个文件,所以修改就是同步的。

当删除一个硬链接时,文件的硬链接计数-1,当这个计数减为0时,才会删除这个文件

即使删除硬链接指向的文件,也只会让硬链接计数-1

06P-创建修改用户和用户组

whoami 查看当前用户

chmod 修改权限操作

第一种,文字设定法

chmod [who] [+|-|=] [mode] filename

操作对象who可以是下述字母中的任一个或者它们的组合

u 表示”用户(user)”,即文件或目录的所有者

g 表示”同组(group)用户”,即与文件所有者有相同组ID的所有用户

o 表示”其他(others)用户”

a 表示”所有(all)用户”,它是系统默认值

操作符号可以是:

+ 添加某个权限

  • 取消某个权限

= 赋予给定权限并取消其他所有权限(如果有的话)

如下所示,给file2文件添加执行权限

第二种,数字设定法

chmod 操作码 filename 直接用操作码修改文件权限

对于file2的权限

-rw-rw-r—

421421421

三个组的权限都用二进制编号,比如要设置当前用户对文件的读写和执行权限,则当前用户的操作权限为4(读)+ 2(写)+ 1(执行) = 7

用户组和其他用户的权限设置也是一样的

对于file2的权限-rw-rw-r—

我们设置如下:

所有者 rwx = 7

所有者所在组 rw = 6

其他用户 r = 4

操作码就是764

sudo adduser newusername 添加新用户

chown username filename 修改文件所有者

su username 切换当前用户为username

sudo addgroup groupname 添加新的用户组

sudo chgrp groupname filename 修改文件所属用户组

sudo chown username:groupname filename 同时修改文件所属用户和用户组

sudo deluser username 删除用户

sudo delgroup groupname 删除用户组

07P-find命令1

find命令:找文件

-type 按文件类型搜索 d/p/s/c/b/l/ f:文件

-name 按文件名搜索

find ./ -name "*file*.jpg"

-maxdepth 指定搜索深度。应作为第一个参数出现。

find ./ -maxdepth 1 -name "*file*.jpg"

-size 按文件大小搜索. 单位:k、M、G

find /home/itcast -size +20M -size -50M

这里要注意,两个size一个都不能少,还有就是文件大小单位对大小写敏感

-atime、mtime、ctime 天 amin、mmin、cmin 分钟。

按照时间搜索

a 表示最近访问时间

m 表示最近更改时间,指更改文件属性一类的

c 表示最近改动时间,指更改文件内容

08P-午后复习

09P-find命令2

-exec:将find搜索的结果集执行某一指定命令。

find /usr/ -name '*tmp*' -exec ls -ld {} \;

-ok: 以交互式的方式 将find搜索的结果集执行某一指定命令

10P-grep和xargs

grep命令:找文件内容

grep -r 'copy' ./ -n

-n参数::显示行号

ps监控后台进程工作情况,默认只显示当前可以和用户交互的进程

ps aux | grep 'cupsd' -- 检索进程结果集。

下图显示和内核相关进程

使用grep搜索进程,有一条结果是搜索进程本身

find … | xargs ls -l 对find操作的结果集进行操作

等价于

find … -exec ls -l {} \;

两者差别在于当结果集合很大的时候,xargs会对结果进行分段处理,所以性能好些

但xargs也有缺陷,xargs默认用空格来分割结果集,当文件名有空格的时候,会因为文件名被切割失效

-xargs:将find搜索的结果集执行某一指定命令。 当结果集数量过大时,可以分片映射。

find /usr/ -name '*tmp*' | xargs ls -ld

创建名字带空格的文件方法

第一个方法,文件名加引号

第二个方法,转义

xargs缺陷演示

解决xargs的缺陷,指定切分符号位null

-print0:

find /usr/ -name '*tmp*' -print0 | xargs -print0 ls -l

第一个print0指定结果集分隔为null,第二个print0指定xargs分隔为null

11P-xargs加强和awk说明

12P-软件包安装

sudo apt-get install softname

安装软件

sudo apt-get update 更新软件列表

更换软件源:

系统设置->软件和更新->下载自…

换软件源过后要更新软件列表

sudo apt-get remove softname卸载软件

使用安装包进行软件安装

13P-压缩命令gzip和bzip2

两者都是配合tar打包命令使用

这两个压缩的缺陷都是只能对单个文件进行压缩,一来不能压目录,二来不能打包

第一种压缩方式:gzip

tar zcvf 要生成的压缩包名 压缩材料,这里压缩包名一般以.tar.gz结尾

上述命令实际上执行了两步,

一个是gzip进行压缩

gzip filename

解压

gunzip zipfile

另一个是打包命令

tar file… tarname

所以tar zcvf 是两条指令的结合版本

对zcvf进行解释:

z:zip,压缩

c:create,创建

v:vision,显示压缩过程,可以去掉,直接用zcf,但这样不显示压缩过程

f:file,文件

file filename 查看文件来源

第二种压缩方式:使用bzip2方式压缩

tar jcvf 要生成的压缩包名 压缩材料

解压:

将压缩命令中的c --> x

tar zxvf 压缩材料 使用gzip解压

tar jxvf 压缩材料 使用bzip2解压

14P-rar压缩和zip压缩

rar压缩,需要安装rar

rar a -r newdir dir

打包,把dir压缩成newdir.rar,如果压缩材料里没有目录,-r参数可以省去

unrar x newdir.rar 解压rar文件

sudo aptitude show softname 查看软件安装信息

zip压缩:

zip -r dir.zip dir

zip解压

unzip dir.zip

zip文件在windows和linux下通用

15P-其他命令

who

查看当前在线上的用户情况

whoami

查看当前用户,不带有进程

ps aux | grep 条件 结果至少有一个,就是当前查询进程

jobs

查看操作系统当前运行了哪些用户作业

kill 杀死进程

env 环境变量

top 文字版任务管理器

sudo passwd uusername 设置用户密码

sudo su 切换root用户

ifconfig 查看网卡信息

man 系统参考手册

man n name 在系统手册第n章查看name

alias 给命令起别名

图中,ll实际指令里的F意味着带文件标识符,目录末尾有/,可执行文件末尾带*

alias 别名=’指令’

这里以管道查询别名为例

16P-总结

Linux系统: “所见皆文件”

Linux系统目录:

bin:存放二进制可执行文件

boot:存放开机启动程序

dev:存放设备文件: 字符设备、块设备

home:存放普通用户

etc:用户信息和系统配置文件 passwd、group

lib:库文件:libc.so.6

root:管理员宿主目录(家目录)

usr:用户资源管理目录

Linux系统文件类型: 7/8 种

普通文件:-

目录文件:d

字符设备文件:c

块设备文件:b

软连接:l

管道文件:p

套接字:s

未知文件。

软连接:快捷方式

为保证软连接可以任意搬移, 创建时务必对源文件使用 绝对路径。

硬链接:

ln file file.hard

操作系统给每一个文件赋予唯一的 inode,当有相同inode的文件存在时,彼此同步。

删除时,只将硬链接计数减一。减为0时,inode 被释放。

创建用户:

sudo adduser 新用户名 --- useradd

修改文件所属用户:

sudo chown 新用户名 待修改文件。

sudo chown wangwu a.c

删除用户:

sudo deluser 用户名

创建用户组:

sudo addgroup 新组名

修改文件所属用户组:

sudo chgrp 新用户组名 待修改文件。

sudo chgrp g88 a.c

删除组:

sudo delgroup 用户组名

使用chown 一次修改所有者和所属组:

sudo chown 所有者:所属组 待操作文件。

find命令:找文件

-type 按文件类型搜索 d/p/s/c/b/l/ f:文件

-name 按文件名搜索

find ./ -name "*file*.jpg"

-maxdepth 指定搜索深度。应作为第一个参数出现。

find ./ -maxdepth 1 -name "*file*.jpg"

-size 按文件大小搜索. 单位:k、M、G

find /home/itcast -size +20M -size -50M

-atime、mtime、ctime 天 amin、mmin、cmin 分钟。

-exec:将find搜索的结果集执行某一指定命令。

find /usr/ -name '*tmp*' -exec ls -ld {} \;

-ok: 以交互式的方式 将find搜索的结果集执行某一指定命令

-xargs:将find搜索的结果集执行某一指定命令。 当结果集数量过大时,可以分片映射。

find /usr/ -name '*tmp*' | xargs ls -ld

-print0:

find /usr/ -name '*tmp*' -print0 | xargs -0 ls -ld

grep命令:找文件内容

grep -r 'copy' ./ -n

-n参数::显示行号

ps aux | grep 'cupsd' -- 检索进程结果集。

软件安装:

1. 联网

2. 更新软件资源列表到本地。 sudo apt-get update

3. 安装 sudo apt-get install 软件名

4. 卸载 sudo apt-get remove 软件名

5. 使用软件包(.deb) 安装: sudo dpkg -i 安装包名。

tar压缩:

1. tar -zcvf 要生成的压缩包名 压缩材料。

tar zcvf test.tar.gz file1 dir2 使用 gzip方式压缩。

tar jcvf test.tar.gz file1 dir2 使用 bzip2方式压缩。

tar解压:

将 压缩命令中的 c --> x

tar zxvf test.tar.gz 使用 gzip方式解压缩。

tar jxvf test.tar.gz 使用 bzip2方式解压缩。

rar压缩:

rar a -r 压缩包名(带.rar后缀) 压缩材料。

rar a -r testrar.rar stdio.h test2.mp3

rar解压:

unrar x 压缩包名(带.rar后缀)

zip压缩:

zip -r 压缩包名(带.zip后缀) 压缩材料。

zip -r testzip.zip dir stdio.h test2.mp3

zip解压:

unzip 压缩包名(带.zip后缀)

unzip testzip.zip

17P-复习

创建一个目录,大小默认是4096k

标签:文件,压缩,sudo,目录,find,Linux,基本操作,链接
From: https://www.cnblogs.com/cyberbase/p/16830206.html

相关文章

  • Vim基本操作
    18P-vim的三种工作模式19P-vim基本操作-跳转和删字符i进入编辑模式,光标前插入字符a进入编辑模式,光标后插入字符o进入编辑模式,光标所在行的下一行插入I进入编辑模式,光标......
  • Linux安装配置Go语言
    Linux安装配置Go语言官网:https://go.dev/dl/从官网下载,选择linux下载压缩包。sudocp-rgo//usr/localsudogedit/etc/profilesource/etc/profile验证......
  • Linux 内存管理
    Linux操作系统采用了哪种方式来管理内存呢?在回答这个问题前,我们得先看看Intel处理器的发展历史。早期Intel的处理器从80286开始使用的是段式内存管理。但是很快发现,......
  • linux虚拟机更改网关——长久生效
    1:cd /etc/sysconfig/network-scripts 2:备份原有网关文件,本机为ifcfg-ens33  3:ping一下空的地址,如图中的192.168.254.144,确认IP没被占用  4:确认网关,并更改......
  • Linux LVS-NAT模式的实现
    结构图:环境准备lvs[root@lvs~]#cat/etc/sysconfig/network-scripts/ifcfg-eth0TYPE=EthernetBOOTPROTO=noneNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=10.0.0.8......
  • 《Unix/Linux系统编程》第六章学习笔记 20201209戴骏
    信号和信号处理1.信号和中断中断:从I/O设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移到中断处理。信号:发送给进程的请求,将进程从正常执行转移到中断处理。......
  • linux查询当前时间
    查询当前时间echo$(date)查询当前日期,m为月,d为天,注意date后面有一个空格echo$(date+%Y-%m-%d)格式化输出日期+时分秒echo$(date"+%Y-%m-%d%H:%M:%S")......
  • Linux基础网络设置
    拓扑图:推荐步骤:Ø 根据拓扑给Centos01配置静态IP地址,设置默认网关和首选备用IP地址,安装DHCP服务Ø 配置修改DHCP配置指定下发IP地址范围,默认网关、首选和备份用DNS,配置......
  • linux 中 如何统计某一目录下一类文件总的大小
     001、[root@pc1test]#lsa.csva.txtb.csvb.txtc.csv[root@pc1test]#ll-h##测试文件total430M-rw-r--r--.1rootroot......
  • VMware在Linux上共享文件和权限问题
    一、安装tools1.打开终端:输入sudoapt-getinstallopen-vm-tools .是用来安装tools的,如果已经安装了再次输入会显示   2.安装好后,输入:sudomkdir/mnt/hgfs .......