Linux学习笔记

文章目录

  • Linux学习笔记
    • 一.初始Linux
      • 1.与linux进行交互
      • 2.shell命令常用的两个功能
      • 3.shutdown命令
    • 二、管好文件
      • 1.切换创建和删除命令
      • 2.列出文件和文件属性
      • 3.拷贝、剪切、删除和创建文件
      • 4.创建文件链接
      • 5.打包文件
      • 6.压缩文件
      • 7.查找文件
      • 8.使用通配符
      • 9.查看文本文件的内容
    • 三、重定向和管道
      • 0.Unix程序设计的三大原则
      • 1.重定向和管道
      • 2.管道
    • 四、用户组
      • 1.用户和用户组
      • 2.查看用户
      • 3.切换用户身份
      • 4.创建、修改和删除用户
      • 5.创建、修改和删除用户组

一.初始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表示压缩为后文件最小,压缩速度最慢,默认情况下采用6tar -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.txtls -l 2>>/dev/null#错误信息重定向到/dev/null目录中,系统的黑洞#输出重定向
tr [准备要替换的字符][要替换的字符]
tr ' ' '\t' <fruit.txt

2.管道

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

ls -al /etc |lessgrep [关键字][目标文件]
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 suuseradd [用户名]
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 sugroupadd [用户组名]
usermod -G [用户组名] [用户名]#将用户加入用户组
groupadd -g [GID] [用户组名]#指定gid创建用户组,应该确保gid的唯一性groupmod -g [gid] -n [用户组名]
groupdel [用户组名]

linux系统管理常用命令相关推荐

  1. linux系统管理常用命令--top

    linux系统管理常用命令--top top显示进程所占的系统资源,具体用法介绍如下: top命令用于动态监控进程所占的系统资源,默认每隔3秒变一次.它的特点是把占用系统资源(CPU.内存.磁盘I/O ...

  2. Linux下netstat常用,Linux netstat常用命令

    1.统计80端口连接数 netstat -nat|grep -i "80"|wc -l 2.统计httpd协议连接数(查看Apache的并发请求数及其TCP连接状态) ps -ef ...

  3. linux的常用命令行

    linux的常用命令行 sftp– help chmod g+w 文件 nohl 清除文件高亮显示 可用命令: cd 路径 更改远程目录到"路径" chgrp group plcd ...

  4. linux下常用命令

    目  录 引言    1 一.安装和登录    2 (一)    login    2 (二)    shutdown    2 (三)    halt    3 (四)    reboot    3 ...

  5. linux系统 常用命令(全面总结)

    文章目录 Linux 之 文件目录 工作机制 Linux命令 之 文件目录管理 2.1 目录管理 2.1.1 cd 2.1.2 ls 2.1.3 pwd 2.1.4 mkdir 2.1.5 rmdir ...

  6. LInux 项目二命令总结,linux项目管理常用命令小结

    当前位置:我的异常网» 项目管理 » linux项目管理常用命令小结 linux项目管理常用命令小结 www.myexceptions.net  网友分享于:2015-08-26  浏览:13次 li ...

  7. linux操作系统--常用命令篇

    前言:linux 命令是对 Linux 系统进行管理的命令.对于 Linux 系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件, Linux 系统管理的命令是它正常运行的核 ...

  8. linux的编程命令,linux编程常用命令

    学习linux编程最基本的就是要掌握常用的编程命令,下面由学习啦小编为大家整理了linux编程常用命令相关知识,希望大家喜欢! linux编程常用命令1.编译应用程序 make -f makefile ...

  9. linux指令笔试,Linux笔试常用命令

    Linux笔试常用命令 时间:2019-01-01 [www.unjs.com - 资料大全] 文件操作命令 ls 作用:列目录,Linux笔试常用命令>(https://www.unjs.co ...

最新文章

  1. 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
  2. 数据库实例(统计最高分学生信息,不及格率等等)
  3. CodeSmith 破解和注册
  4. 基于rocketMq秒杀系统demo
  5. python之paramiko模块
  6. Security+ 学习笔记52 风险管理
  7. Linux版QQ安装教程
  8. ppt转html5原理,如何实现PPT转成H5?
  9. 运营周期爆发期是什么?
  10. 孤单翻译成计算机语言,关于孤独的英文句子_孤单伤感语录带翻译
  11. 小牛M+怎么样 看过你才知道
  12. 项目启东异常Failed to read candidate component class
  13. CCTV主持人博客列表
  14. 【算法】传教士和野人问题
  15. paddlepaddle测试安装_专栏 | 新手入门?一步一步教你如何安装PaddlePaddle
  16. 中东地区的最大节日,卧兔网络带你看斋月营销套路
  17. 04735数据库系统原理(知识点快速记忆)
  18. 基于JUPYTER的python主流库新手教程(上)
  19. C语言实战项目1——三子棋(可转变为N子棋)
  20. python中文件保存时,出现OSError:[Errno 22] Invalid argument解决办法

热门文章

  1. 大型网站系统与Java中间件实践 01 认识分布式
  2. 焦油坑和人月神话--人月笔记1
  3. 去重是distinct还是group by?
  4. Java SHAA加密
  5. php strtotime 和 date 日期操作
  6. Office365-----Skype for business
  7. android应用程序的组成部分
  8. 修改eclipse启动时eclipse使用的jre
  9. JAVA 基本运算符(摘)
  10. js 正则学习小记之匹配字符串