首页 > 系统相关 >Linux高级命令

Linux高级命令

时间:2024-03-17 09:55:05浏览次数:22  
标签:文件 tar 字符 sudo 高级 用户 命令 file Linux

目录

Linux命令

1.软件安装

1.1离线安装----dpkg

sudo dpkg -i 软件包名:安装软件

man 软件名:查看软件使用说明

sudo dpkg -l 软件名:查看安装的软件信息

sudo dpkg -L 软件名:查看软件安装路径

sudo dpkg -r 软件名:卸载软件(保留软件的配置信息)

sudo dpkg -P 软件名:完全卸载

1.2在线安装----apt-get

/etc/apt/sources.list :记录服务器地址

sudo apt-get update:更新本地源

sudo apt-get install 软件名:安装软件

sudo apt-get remove 软件名:卸载软件

sudo apt-get download 软件名:下载软件包,不安装

sudo apt-get source 软件名:下载源代码

sudo apt-get clean :清理安装包

安装软件的软件包存放在/var/cache/apt/archives目录下,clean会全部清除

2.压缩与归档

2.1压缩与解压缩

gzip---->.gz

bzip2--->.bz2

xz------>.xz

压缩率依次递增,压缩速率依次递减

gzip file1:将文件按 gzip 格式压缩,生成 file1.gz 文件,压缩后源文件被删除

gunzip file1.gz:解压

bzip2 file1:将文件按 bzip2 格式压缩,生成 file1.bz2 文件,压缩后源文件被删

bunzip2 file1.bz2:解压

xz file1:将文件按 xz 格式压缩,生成 file1.xz 文件,压缩后源文件被删除

unxz file1.xz:解压

2.2归档(打包)和解归档

归档命令 tar

​ -c 归档

​ -x 解归档

​ -v 显示详细信息

​ -f 必须放在选项最后

附加选项

​ -z 按gzip格式压缩

​ -j 按bzip2格式压缩

​ -J 按xz格式压缩

tar -cvf dir.tar dir:将目录dir及其子目录下的所有文件归档成一个文件dir.tar并显示过程信息

tar -xvf dir.tar:将dir.tar 解归档 解归档之后 归档文件也不会被删除归档的同时进行压缩

tar -zcvf dir.tar.gz dir:归档的同时将文件按 gzip 格式压缩

tar -zxvf dir.tar.gz:解归档并解压缩

tar -jcvf dir.tar.bz2 dir:归档的同时将文件按 bzip2 格式压缩

tar -jxvf dir.tar.bz2:解归档并解压缩

tar -Jcvf dir.tar.xz dir:归档的同时将文件按 xz 格式压缩

tar -Jxvf dir.tar.xz:解归档并解压缩

通用的解归档并解压缩方式:

​ tar -xvf dir.tar.gz

​ tar -xvf dir.tar.bz2

​ tar -xvf dir.tar.xz

3.查看文件内容

3.1cat命令

cat 文件名:查看文件全部内容

cat -n 文件名:带行号显示文件全部内容

3.2head命令

head file:显示文件file开头的内容 默认显示前10行

head -n 20 file :显示file文件前20行内容,等价于head -20 file

3.3tail命令

tail file:显示文件file结尾内容 默然显示后10行

tail -n 5 file:显示文件file最后5行内容,等价于tail -5 file

tail -f 文件名:动态显示文件内容的新增情况 一般多用于查看日志文件

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

#查看file文件的第31~35行的内容
head -n 35 file | tail -n 5

3.4more命令

more file:以百分比形式显示文件file的内容

​ 按回车键继续向下显示

​ 按q键退出

3.5less命令

less file:滚动显示文件内容

​ 按上下方向键控制滚动方向

​ 按q退出

3.6od命令

od -c 二进制文件名:查看二进制文件内容

4.统计文件内容命令

wc 文件名:统计文件内容

4 7 47 file

行数 单词数 字符数 文件名

wc命令选项

​ -l 行数 line

​ -w 单词书Word

​ -c 字符数char

wc -l *.c:查看当前路径下所有.c文件的行数

5.检索文件内容命令

grep "string" file:检索文件file中所有包含string的行

grep命令常用选项

​ -n 显示行号

​ -i 忽略大小写

​ -w 精确查找 只查找string独立出现的地方 有前缀和后缀都不行

​ -v 反选 查找不含有string的行

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

grep -nR "string" * :在当前路径及子目录下的所有文件中 查找包含string的行 并且显示行号

grep "^string" file:检索以string开头的行

grep "string$" file:检索以string结尾的行

grep "^string$" file:检索string独立成行的行

6.查找文件命令

find ./ -name file:在当前目录及子目录查找所有名为file的文件

find /home/linux -name file:在/home/linux目录及子目录下查找所有名为file的文件

find ./ -type d:在当前目录及子目录下查找所有的 目录文件

类型可以写这些种:bsp-lcd 注意:普通文件时 要用 f 而不是 -

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

**find ./ -name *.c **
这种写法不是查找当前目录及子目录下的所有 .c 文件
他是先匹配当前目录下所有的.c文件 然后把他们作为 find 命令的参数
如果当前目录下只有一个.c 文件,那么执行时不会报错,但是结果也不表示查
找所有.c
如果当前目录下有多个.c文件,那么执行时 会报错 find 命令参数过多

find  ./  -type  f  | grep "\.c$"  
find  ./  -type  f  | grep "\.c$" |wc -l  
#统计当前目录及子目录下所有.c文件的个数
find  ./  -type  f  | grep "\.c$" |xargs wc -l  
#统计当前目录及子目录下所有.c文件的行数

7.文件内容截取命令

cut选项

​ -d 分隔符

​ -f 选择那些区域

注意:

  1. cut命令是以行为单位操作的,如果某一行没有指定的分隔符 就不处理
  2. 如果指定的分隔符是特殊的,如 双引号 或者 单引号 需要使用转义字符 \"
文件file内容如下:
北京市:海淀区:西三旗:数字文化产业园:B座:2层
aa-bb-cc-dd-ee-ff

cut  -d  :  -f  3  file
西三旗
aa-bb-cc-dd-ee-ff

cut  -d  :  -f  3,5,6  file
西三旗:B座:2层
aa-bb-cc-dd-ee-ff

cut  -d  -  -f  3,4  file
北京市:海淀区:西三旗:数字文化产业园:B座:2层
cc-dd

linux系统中 /etc/passwd 文件中记录的是系统中用户的信息
linux系统中 /etc/group 文件中记录的是系统中组的信息
/etc/passwd 中记录的信息说明:
linux : x : 1000 : 1000 : linux,,, : /home/linux : /bin/bash
用户名 有密码 用户id 组id 描述字段 用户的家目录 默认的命令行解释器

#编写命令,显示出 linux 用户再 /etc/passwd 文件中的行号
cat /etc/passwd | cut ‐d : ‐f 1 | grep ‐n "^linux$" | cut ‐d : ‐f 1

8.通配符

8.1*

通配任意长度的任意字符

8.2?

通配一个长度的任意字符

8.3[字符1字符2...字符n]

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

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

通配 起始字符到结束字符 间的任意一个字符

8.5[^字符1字符2...字符n]

通配不包含 [] 中字符的任意一个字符--反选

9.关机重启

9.1关机

sudo shutdown -h now:立即关机

sudo shutdown -h 10:30:10:30关机

sudo shutdown -h +30:30分钟后关机

9.2重启

sudo shutdown -r now:立即重启sudo reboot

sudo shutdown -r 10:30:10:30重启

sudo shutdown -r +30:30分钟后重启

10.用户管理命令

10.1添加用户

sudo adduser 用户名:添加用户

用户创建成功后,会在 /etc/passwd 文件中新增新用户的信息
会在 /etc/group 文件中新增组的信息
新创建的用户不允许使用sudo以管理员身份执行命令。
可以用下面的方式给新用户添加 sudo 权限

  1. 切换到root用户 su root
  2. 给 /etc/sudoers 文件添加写权限 chmod u+w /etc/sudoers
  3. 打开文件 vi /etc/sudoers
  4. 复制 root ALL=(ALL:ALL) ALL 粘贴到下面 将新行中的用户名改成户名 :wq保存退出
  5. 给 /etc/sudoers 文件删除写权限 chmod u-w /etc/sudoers 一定要改去防止被误修改!
  6. 退出 root 用户 exit

10.2切换用户

su 用户名

10.3查看当前使用用户

whoami

10.4退出当前用户

exit

10.5修改用户密码

passwd 用户名:修改用户的密码

10.6修改用户信息

sudo usermod -c "beijing" user2:将用户user2的描述字段改为beijing

sudo suermod -d /home/test user2:将用户user2的家目录改为/home/test(慎改)

sudo usermod -l hqyj user2:将用户user2的用户名改为hqyj

sudo usermod -g new_group user2:将用户user2的所属组改为new_group

10.7查看用户简略信息

id 用户名

10.8删除用户

sudo deluser 用户名

10.9删除组

sudo delgroup 组名

11.文件权限管理

权限分为三组

​ rw- rw- r--

​ 所属用户权限 所属组权限 其他人权限

​ r 读权限

​ w 写权限

​ x 执行权限

​ - 没有对应权限

11.1修改文件权限

chmod

​ 只有文件的所属者和root用户可以修改文件的权限

11.1.1通过+-方式修改

u --> user 所属用户

g --> group 所属组

o --> other 其他人

a --> all 所有用户

r --> read 读

w --> write 写

x --> exec 执行权限

chmod u+w file:给文件file的所属用户添加写权限

chmod g-r file:给文件file的所属组减掉读权限

chmod o+r file:给文件file的其他人添加读权限

chmod a+x file:给文件file的所属用户所属组其他人都添加执行权限

11.1.2通过八进制数修改

rwxrwxrwx --> 0777

rw-r----- --> 0640

chmod 0640 file:将文件的权限改成rw-r-----

chmod 0662 file:将文件的权限改成rw-rw--w-

11.2修改文件所属用户

只有root用户可以修改文件的所属用户

sudo chown 新的用户 文件名

11.3修改文件所属组

只有root用户可以修改文件的所属组

sudo chgrp 新的组 文件名

12.链接文件

12.1软连接

ln -s 被链接的文件 要生成的软链接文件

一旦链接位置变化,链接就失效

12.2硬链接

ln 被链接的文件 要生成的硬链接文件

硬链接相当于给文件起了个别名

标签:文件,tar,字符,sudo,高级,用户,命令,file,Linux
From: https://www.cnblogs.com/lvrencat07-V/p/18078124

相关文章

  • kubernetes的kubectl命令介绍
    前言:kubectl是Kubernetes命令行工具,用于与Kubernetes集群进行交互。它允许用户执行各种操作,包括管理容器、部署应用程序、查看集群状态等。kubectl是操作k8s集群的命令行工具,安装在k8s的master节点,kubectl在$HOME/.kube目录中查找一个名为config的文件,你可以通过设置Kube......
  • 今日头条Linux 运维工程师面试真题
    今日头条Linux运维工程师面试真题首先我们来看下今日头条Linux运维工程师招聘岗位要求:【岗位定义】系统运维工程师【岗位薪资】10K-24K【基本要求】北京/经验3-5年/本科及以上/全职【职位描述】1、负责业务系统日常运行维护,线上故障紧急处理;2、监控平台的搭建......
  • Linux 运维工程师面试真题-2-Linux 命令及文件操作
    Linux运维工程师面试真题-2-Linux命令及文件操作1.在/tmp/目录下创建test.txt文件,内容为:Hello,World!,用一个命令写出来。2.给test.txt文件除所有者之外增加执行权限,最终以数字写出文件的权限。3.用vi命令编辑test.txt,如何跳转到末行,首行,行首、行末,如何在光标行下一......
  • Linux 运维工程师面试真题-1-必会Linux 操作系统知识
    Linux运维工程师面试真题-1-必会Linux操作系统知识运维的整个面试流程其实是非常繁杂的,为了方便大家准备,我们特地在这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题。首先我们看看《Linux操作......
  • Linux 运维工程师面试真题-4-Linux 服务配置及管理
    Linux运维工程师面试真题-4-Linux服务配置及管理**1.请写出apache2.X版本的两种工作模式,以及各自工作原理。如何查看apache当前所支持的模块,并且查看是工作在哪种模式下?2.Linux下nfs在客户端无法挂载,请写出排查步骤?3.Linux下已经部署了dhcp服务器,客户端无法获取的......
  • Linux 运维工程师面试真题-3-Linux 磁盘及软件管理操作
    Linux运维工程师面试真题-3-Linux磁盘及软件管理操作1.如何添加一块新的50G硬盘到linux服务器系统作为单独的分区,并正在使用?需要哪些操作步骤?2.有个金士顿U盘,需要往服务器/var/www/html/目录下上传一个index.html文件,如何操作并完成。3.有一块移动硬盘,上面有300G......
  • Linux 运维工程师面试真题-5-常考题目汇总
    Linux运维工程师面试真题-5-常考题目汇总1.解释下什么是GPL,GNU,自由软件?GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分......
  • 小米Linux 运维工程师面试真题
    小米Linux运维工程师面试真题首先我们来看下小米Linux运维工程师招聘岗位要求:【岗位定义】运维工程师【岗位薪资】10K-24K【基本要求】北京/经验3-5年/本科及以上/全职【职位描述】1、负责小米网交易系统部署、监控、可持续优化等;2、负责小米网抢购系统运维变......
  • 新浪Linux 运维工程师面试真题
    新浪Linux运维工程师面试真题首先我们来看下新浪Linux运维工程师招聘岗位要求:【岗位定义】运维工程师【岗位薪资】10K-20K【基本要求】经验1-3年/本科及以上/全职【职位描述】1、负责服务器和应用的监控和应急反应,需要值夜班以确保有7*24小时的持续运作能力;2、......
  • 京东Linux 运维工程师面试真题
    京东Linux运维工程师面试真题首先我们来看下京东Linux运维工程师招聘岗位要求:【岗位定义】运维工程师【岗位薪资】10K-20K【基本要求】北京/经验3-5年/本科及以上/全职【职位描述】1.负责私有云docker的日常维护、故障排查、性能调优;2.负责应用系统的日常监......