linux系统管理常用命令

这篇博客介绍了Linux操作系统的基本交互,包括whoami、echo和nano命令,详细讲解了shell命令的功能,如历史命令查看和命令自动补全。此外,还涵盖了文件管理,包括创建、删除、列出、拷贝、移动、删除文件及目录,以及文件属性的修改。同时,内容涉及到文件链接、打包、压缩、查找文件的方法,以及重定向和管道的使用。最后,讨论了Linux用户和用户组的管理,如用户切换、创建和删除。
摘要由CSDN通过智能技术生成

Linux学习笔记

一.初始Linux

1.与linux进行交互

whoami
whoami --help	#帮助文档
whoami --version	#版本信息

echo "hellow Linux!"#显示字符串

nano #打开nano界面

2.shell命令常用的两个功能

  • .使用方向键查看历史命令

  • 输入命令的一部分时,按一次TAB键可以自动补全剩下的命令;按两次TAB键时,可以打印出所有相关命令,供用户选择。

man who	#查看who命令的帮助文档

3.shutdown命令

#关机
shutdown -h 10	#10分钟后关机
shutdown -h 15:56
shutdown -h now	#立即关机
shutdown -h 15:00 #系统将在15:00关机,请注意保存您的数据,以免丢失。

#重启
shutdown -r 10	#10分钟后重启

shutdown -c	#取消关机

二、管好文件

1.切换创建和删除命令

  1. 文件的基本架构

    标准文件系统架构规范:树形目录

tree /home #查看树形的层次结构
  1. 查看目录
pwd #查看当前目录

cd ./dir1  #切换到当前目录下的dir1
cd ../dir1  #切换到上层目录下的dir1
cd - 	#前一个工作目录
cd ~	#切换到用户的家目录

mkdir /tmp/***	#创建目录
mkdir -p /tmp/hskhk/kshfj	#创建嵌套目录

rmdir sample	#删除目录,只能删除空目录
  1. 路径的两种分类
    • 相对路径
    • 绝对路径

2.列出文件和文件属性

Linux把目录也看成一种文件。主要用来组织和管理文件和其他的目录,存放文件名和文件索引节点之间的关联关系。目录文件的命名和普通文件是相同的。

ls 文件名 #列出文件
ls 目录	#列出目录下的文件
ls 		 #列出当前目录下的文件

ls -a	 #列出隐藏文件
ls -l 	 #列出长格式的文件的详细信息
ls -al
ls -il   #列出文件的inode-number
字符标识文件类型
r可读
w可写
x可执行

文件所有者、文件所属组和其他用户这3个权限组可以分别用u、g、o来表示。
在Linux中,使用+表示增加某一个权限,使用-表示删除某一个权限。

chmod 700 文件名 #修改文件的访问属性
chown nbcc:stu  #将文件的拥有者和从属用户组修改为nbcc和stu
chown nbcc      #修改文件的拥有者
chown :nbcc     #只修改从属用户组

chown g+w filename	#修改filename文件的访问权限为所在组可写。
chown g-w filename	#删除刚才的权限
字符标识文件类型
d目录文件
-普通文件
c字符设备文件
l符号连接文件
b块设备文件
p命名管道文件
s套接字文建
mknod filename p 	#创建命名管道
mkfifo filename 	#创建命名管道

为了使用方便,很多Linux的发行版本都为ls-l命令定义了一个别名ll。用户可以直接输入ll代替ls-l。

3.拷贝、剪切、删除和创建文件

cp [要拷贝的文件|文件列表] [目的文件名|目的目录] #拷贝单个文件(拷贝多个文件时用空格隔开)
cp -r [要拷贝的目录] [目的目录]	#拷贝整个目录

#注意:1.若目标目录中已经存在同名的文件,询问用户是否覆盖
#注意:2.拷贝过程中可能会出现文件属性的变化

\cp -f [要拷贝的文件|文件列表] [目的文件名|目的目录] #批量文件强制覆盖
cp -p [要拷贝的文件|文件列表] [目的文件名|目的目录] #拷贝过程中不改变文件的属性

mv[要拷贝的文件|文件列表] [目的文件名|目的目录] #移动单个文件(拷贝多个文件时用空格隔开)
mv [要拷贝的目录] [目的目录]	#移动整个目录
#注意:1.若目标目录中已经存在同名的文件,询问用户是否覆盖
#注意:2.移动过程中也可以改变文件名
rm [要删除的文件]
rm [要删除的文件1 要删除的文件2 ...]
rm -R ./dir01 #删除目录
rm -fr [目录]	#不询问用户直接进行删除操作
touch [文件名]#创建文件,若文件已经存在则改变文件的时间戳属性

4.创建文件链接

符号链接和硬链接存在以下不同的特性:

  • 硬链接的几个文件之间存在相同的i节点和文件数据区,每一个符号链接都是一个相对独立的文件,拥有自己的文件属性和权限。
  • 用户只能对已经存在的文件创建硬链接,但可以对不存在的文件创建符号链接。
  • 不可以跨越文件系统创建硬链接,但可以创建符号链接。
  • 不能对目录创建硬链接,但可以创建符号链接。
  • 删除一个硬链接文件不能其他拥有I节点的文件,同样删除软链接也不影响其指定的文件,但若指向的文件被删除,符号链接也随之失效。
  • 创建硬链接文件的链接数会增加,但是创建符号链接文件数不会增加。
ln -s [链接指向的文件] [链接名] #创建符号链接文件(类似于快捷方式),若符号链接文件指向的文件被删除,则符号链接断裂

ln [链接指向的文件] [链接名] #创建硬链接,indoe-number是相同的,源文件删除后,硬链接可以正常使用,硬链接数目可以改变

5.打包文件

tar -cf [打包文件名.tar] [要打包的文件列表/要打包的目录]#打包文件(不是压缩)
tar -tf [目录]#查看打包文件中的文件
tar -f [打包文件名] --delete [文件名]#删除打包文件中的文件名
tar -f [打包文件名] -r [文件名]#向打包文件中添加新文件
tar -xf [文件名]- C [指定解包目录] #解包

6.压缩文件

gzip [要压缩的文件]
gzip -d [要解压的文件]
gzip -[0-9之内的数字] [要压缩的文件]#数字代表压缩比,1表示压缩后文件最大,压缩速度最快;9表示压缩为后文件最小,压缩速度最慢,默认情况下采用6

tar -czf [打包文件名.tar.gz] [要打包的文件列表/要打包的目录]
#把一批文件打包压缩
tar -xzf [文件名]- C [指定解包目录] #解压缩解包

7.查找文件

locate [查找的路径] [文件名的关键字]
#linux把文件名记录在/var/lib/mlocate数据库中,数据库每天只更新一次,因此新建立的文件无法实时更新

updatedb #更新数据库

find [查找范围][查找条件][动作] 
#1.根据文件名进行查找
find / -name password

#2.根据文件类型进行查找
find /bin -type l

#3.根据文件的时间属性来查找(+n表示n天之前,-n表示n天之内,n表示在第n天)
find /temp -mtime -3 -ls
find /temp -mtime +7 -ls
find /temp -mtime 4 -ls

#4.根据文件大小进行查找(C-字节)
find /temp -size -3k
find /temp -size +100c
find /temp -size 10M

#5.根据文件属性查找
find /temp -user root -ls#查找指定目录下拥有者是root的文件
find /temp -uid 500 -ls#查找指定目录下拥有者uid是500的文件
find /temp -group stu -ls#查找指定目录下从属于stu用户组的文件
find /temp -gid 0 -ls#查找指定目录下用户组gid=0的文件

#6.根据文件权限进行查找
find /temp -perm 754#查找指定目录下权限为754文件

#使用与(-a)、或(-o)、非(!)连接查找条件
find /temp \(-size +1k -a -size -10M -a -mmin -
30 -a -type f \)-ls#要使用\来转义圆括号
find \temp \(-size +1k -a -size -10M -a -mmin -
30 -a -type f \) -exec rm -rf {} \;删除查找的文件
时间参数时间参数
-atime-amin文件被读取、执行的时间
-cmin-ctime文件属性修改时间
-mmin-mtime文件修改时间

8.使用通配符

# *代表任意长度的字符串
# ?代表任意的单个字符
# [c1-c2]表示匹配c1-c2字符序列中的任意字符
# [c1,c2,cn]表示匹配c1,c2,cn字符序列中的任意字符
# {str1,str2,strn}表示匹配str1,str2,strn字符序列中的任意字符串
# !表示对内容取反

rm -f /tmp/*.txt
cp /tmp/file[0-9].txt

9.查看文本文件的内容

cat [文件名] #查看文本文件

less [文件名]
#/关键字可以查找关键字,并使用n/N进行跳转,q退出

head -n 20 [文件名] #查看文本前20行,默认查看前10行
tail -n 20 [文件名] #常用来查看日志文件

三、重定向和管道

0.Unix程序设计的三大原则

  • 一次只做一件事,并做到最好
  • 能够与其他程序协同工作
  • 能够处理文本流

1.重定向和管道

#输出重定向
ls -l  1> ../stdout.txt
ls -l  1>> ../stdout.txt	#添加到源文件的后面

ls -l  2> ../stderr.txt
ls -l &>std.txt #命令的标准输出和错误输出定向到同一个文件

echo -e *1 apple \n 2 pear \n 3 banana*>ftuit.txt

ls -l 2>>/dev/null#错误信息重定向到/dev/null目录中,系统的黑洞

#输出重定向
tr [准备要替换的字符][要替换的字符]
tr ' ' '\t' <fruit.txt

2.管道

将一个命令的标准输出定向为另一个命令的标准输入,但不会传递错误输出。

ls -al /etc |less

grep [关键字][目标文件]
ls -al /etc |grep "ssh"

cat fruit.txt|cut -c 2,5
cat fruit.txt|cut -f1 -d' '

wc fruit.txt #统计行数、单词数和字节数
wc -l#只统计文本行数

四、用户组

1.用户和用户组

用户分为三种:

  • 管理员用户
  • 虚拟用户(bin、ftp、mail)
  • 普通用户

用户组:通过GID进行识别,与用户之间是多对多的关系,但主用户组著有一个。

2.查看用户

id xuanyuanyixiang
id root
id #查看当前用户的信息

finger xuanyuanyixiang #查看用户名、用户的家目录,默认shell类型,邮件数目和工作计划
finger #显示登录用户名、用户备注登录终端类型等

3.切换用户身份

4.创建、修改和删除用户

sudo su

useradd [用户名]
passwd [用户名]

finger [创建的用户]
id [创建的用户]

useradd -u [UID] -c [用户备注] -g [用户组] -d [指定家目录]
-g [指定主用户组]  -G [指定除主用户组外从属的用户组]
#创建用户同时指定uid、家目录、用户备注、主用户组、从属用户组、shell类型
#指定UID是应该确保唯一性
#指定主用户组和从属用户组时应该确保用户组存在

#修改用户
usemod  -u [UID] -c [用户备注] -g [用户组] -d [指定家目录]
-g [指定主用户组]  -G [指定除主用户组外从属的用户组] 

#如何删除用户
userdel [用户名] 
userdel -r [用户名]  #删除用户并删除用户的家目录

5.创建、修改和删除用户组

sudo su

groupadd [用户组名]
usermod -G [用户组名] [用户名]#将用户加入用户组
groupadd -g [GID] [用户组名]#指定gid创建用户组,应该确保gid的唯一性

groupmod -g [gid] -n [用户组名]
groupdel [用户组名]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王贝贝的爸爸

觉得有用给点鼓励吧,求求你了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值