Linux基本使用

 此整理得益于我的老师——冒小平老师

目录

一、Linux目录结构

二、Linux常用命令

Linux命令的分类

操作文件或目录常用命令

常用命令

备份压缩命令

gzip命令

tar命令

关机/重启命令

三、VIM文本编辑器

VIM工作模式

插入命令

定位命令

替换和取消命令

删除命令

常用快捷键

四、用户和组账户管理

配置文件

Linux用户分类

用户组

操作用户命令

添加用户命令:useradd

修改用户命令:usermod(user modify)

添加组:groupadd

修改组:groupmod

删除组:groupdel

五、权限管理

更改操作权限

六、RPM软件包管理

RPM命令使用

YUM命令


一、Linux目录结构

二、Linux常用命令

Linux命令的分类

  • 内部命令:属于Shell解析器的一部分

cd 切换目录(change directory)

pwd 显示当前工作目录(print working directory)

help 帮助

  • 外部命令:独立于Shell解析器之外的文件程序

ls 显示文件和目录列表(list)

mkdir 创建目录(make directory)

cp 复制文件或目录(copy)

  • 查看帮助文档

内部命令:help + 命令(help cd)

外部命令:man + 命令(man ls)

操作文件或目录常用命令

pwd 显示当前工作目录(print working directory)

touch 创建空文件                     

mkdir 创建目录(make directory)             -p 父目录不存在情况下先生成父目录 (parents)            

cp 复制文件或目录(copy)                       -r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)     

mv 移动文件或目录、文件或目录改名(move)

rm 删除文件(remove)                            -r 同时删除该目录下的所有文件(recursive)

                                                                   -f 强制删除文件或目录(force)

rmdir 删除空目录(remove directoriy)

cat显示文本文件内容 (catenate)           

more、less 分页显示文本文件内容

head、tail查看文本中开头或结尾部分的内容

head  -n  5  a.log                                           查看a.log文件的前5行

tail  -F b.log                                                   循环读取(follow)

(cat ,more,less,head,tail   令篇详说)

常用命令

wc       统计文本的行数(-l)、字数(-w)、字符数(-m)

find      在文件系统中查找指定的文件         find /etc/ -name "aaa"                                                                    

grep     在指定的文本文件中查找指定的字符串

ln         建立链接文件(link)-s 对源文件建立符号连接,而非硬连接(symbolic)    (创建链接的时候源文件要有访问权限)     

top       显示当前系统中耗费资源最多的进程

ps        显示瞬间的进程状态

            -e /-A 显示所有进程,环境变量

            -f 全格式

            -a 显示所有用户的所有进程(包括其它用户)

            -u 按用户名和启动时间的顺序来显示进程

            -x 显示无控制终端的进程

kill        杀死一个进程         kill -9 pid

df         显示文件系统磁盘空间的使用情况

du        显示指定的文件(目录)已使用的磁盘空间的总

            -h文件大小以K,M,G为单位显示(human-readable)

            -s只显示各档案大小的总合(summarize)

free      显示当前内存和交换空间的使用情况

netstat 显示网络状态信息

            -a 显示所有连接和监听端口

            -t (tcp)仅显示tcp相关选项

            -u (udp)仅显示udp相关选项

            -n 拒绝显示别名,能显示数字的全部转化成数字。

            -p 显示建立相关链接的程序名

ifconfig 网卡网络配置详解

ping     测试网络的连通性

备份压缩命令

  • gzip 压缩(解压)文件或目录,压缩文件后缀为gz
  • bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2          (不喜欢用,不说了)
  • tar 文件、目录打(解)包                    常用: tar -zxvf .....

gzip命令

  • 命令格式:gzip [选项] 压缩(解压缩)的文件名

-d将压缩文件解压(decompress)

-l显示压缩文件的大小,未压缩文件的大小,压缩比(list)

-v显示文件名和压缩比(verbose)

-num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6

tar命令

-c 建立一个压缩文件的参数指令(create)

-x 解开一个压缩文件的参数指令(extract)

-z 是否需要用 gzip 压缩

-j 是否需要用 bzip2 压缩

-v 压缩的过程中显示文件(verbose)

-f 使用档名,在 f 之后要立即接档名(file)

关机/重启命令

  • shutdown系统关机                 -r 关机后立即重启    /    -h 关机后不重新启动
  • halt 关机后关闭电源   ==>  shutdown -h
  • reboot 重新启动   ==>  shutdown -r

  • 善于查看man page(manual)等帮助文档
  • 利用好Tab键
  • 掌握好一些快捷键

ctrl + c(停止当前进程)

ctrl + r(查看命令历史)

ctrl + l(清屏,与clear命令作用相同)

三、VIM文本编辑器

VIM工作模式

插入命令

定位命令

替换和取消命令

删除命令

常用快捷键

 

四、用户和组账户管理

配置文件

  • 保存用户信息的文件:/etc/passwd
  • 保存密码的文件:/etc/shadow
  • 保存用户组的文件:/etc/group
  • 保存用户组密码的文件:/etc/gshadow
  • 用户配置文件:/etc/default/useradd

Linux用户分类

超级用户:(root,UID=0)

普通用户:(UID在500到60000)

伪用户:(UID在1到499)

用户组

操作用户命令

添加用户命令:useradd

-u 指定组ID(uid)

-g 指定所属的组名(gid)

-G 指定多个组,用逗号“,”分开(Groups)

-c 用户描述(comment)

-e 失效时间(expire date)

例子:

useradd -u 888 -g users -G sys,root -c "hr zhang" zhangsan

passwd zhangsan

修改用户命令:usermod(user modify)

-l 修改用户名 (login)usermod -l a b(b改为a)

-g 添加组 usermod -g sys tom

-G添加多个组 usermod -G sys,root tom

–L 锁定用户账号密码(Lock)

–U 解锁用户账号(Unlock)

删除用户命令:userdel(user delete)

-r 删除账号时同时删除目录(remove)

 

添加组:groupadd

-g 指定gid

修改组:groupmod

-n 更改组名(new group)

删除组:groupdel

  • groups 显示用户所属组

 

五、权限管理

三种基本权限      r 读权限(read)      w 写权限(write)        x 执行权限 (execute)

第1位:文件类型(d 目录,- 普通文件,l 链接文件)

第2-4位:所属用户权限,用u(user)表示

第5-7位:所属组权限,用g(group)表示

第8-10位:其他用户权限,用o(other)表示

第2-10位:表示所有的权限,用a(all)表示

完整信息:一个文件,所属用户具有读写执行权限;所属组的用户

有读写权限,没有执行权限;其他用户只有读权限

更改操作权限

  • chmod修改文件权限命令(change mode)

参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)

例如:chmod  u+x  a.txt

  • 用数字来表示权限(r=4,w=2,x=1,-=0)

例如:chmod  750  b.txt

rwx用二进制表示是111,十进制4+2+1=7

r-x用二进制表示是101,十进制4+0+1=5

 

六、RPM软件包管理

  • RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便

RPM命令使用

  • rpm的常用参数

i:安装应用程序(install)

e:卸载应用程序(erase)

vh:显示安装进度;(verbose   hash)

U:升级软件包;(update)

qa: 显示所有已安装软件包(query all)

结合grep命令使用

  • 例子:rmp  -ivh  gcc-c++-4.4.7-3.el6.x86_64.rpm

YUM命令

  • Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  • 例子(需要上网,没有网络可以建本地源):

yum  install  gcc-c++

yum  remove  gcc-c++

yum  update  gcc-c++

yum whatprovides 反查命令

 

 

此外我看到一个感觉很不错的链接https://www.cnblogs.com/yjd_hycf_space/p/7730690.html,里面命令更全,我比较常用的自己截图放这

文本处理
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt          合并一个文件的详细说明文本,并将简介写入一个新文件中 
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt        合并一个文件的详细说明文本,并将简介写入一个已有的文件中 
grep Aug /var/log/messages                                                            在文件 '/var/log/messages'中查找关键词"Aug" 
grep ^Aug /var/log/messages                                                          在文件 '/var/log/messages'中查找以"Aug"开始的词汇 
grep [0-9] /var/log/messages                                                           选择 '/var/log/messages' 文件中所有包含数字的行 
grep Aug -R /var/log/*                                                                      在目录 '/var/log' 及随后的目录中搜索字符串"Aug" 


sed 's/stringa1/stringa2/g' example.txt                                             将example.txt文件中的 "string1" 替换成 "string2" 
sed '/^$/d' example.txt                                                                     从example.txt文件中删除所有空白行 
sed '/ *#/d; /^$/d' example.txt                                                           从example.txt文件中删除所有注释和空白行 
echo 'esempio' | tr '[:lower:]' '[:upper:]'                                             合并上下单元格内容 
sed -e '1d' result.txt                                                                          从文件example.txt 中排除第一行 
sed -n '/stringa1/p'                                                                            查看只包含词汇 "string1"的行 
sed -e 's/ *$//' example.txt                                                                删除每一行最后的空白字符 
sed -e 's/stringa1//g' example.txt                                                      从文档中只删除词汇 "string1" 并保留剩余全部 
sed -n '1,5p;5q' example.txt                                                             查看从第一行到第5行内容 
sed -n '5p;5q' example.txt                                                                查看第5行 
sed -e 's/00*/0/g' example.txt                                                           用单个零替换多个零 


cat -n file1                                                                                        标示文件的行数 
cat example.txt | awk 'NR%2==1'                                                    删除example.txt文件中的所有偶数行 


echo a b c | awk '{print $1}'                                                             查看一行第一栏 
echo a b c | awk '{print $1,$3}'                                                        查看一行的第一和第三栏 


paste file1 file2                                                                               合并两个文件或两栏的内容 
paste -d '+' file1 file2                                                                      合并两个文件或两栏的内容,中间用"+"区分 


sort file1 file2                                                                                  排序两个文件的内容 
sort file1 file2 | uniq                                                                        取出两个文件的并集(重复的行只保留一份) 
sort file1 file2 | uniq -u                                                                    删除交集,留下其他的行 
sort file1 file2 | uniq -d                                                                    取出两个文件的交集(只留下同时存在于两个文件中的文件)

 
comm -1 file1 file2                                                                          比较两个文件的内容只删除 'file1' 所包含的内容 
comm -2 file1 file2                                                                          比较两个文件的内容只删除 'file2' 所包含的内容 
comm -3 file1 file2                                                                          比较两个文件的内容只删除两个文件共有的部分 
 

 

猜你喜欢

转载自blog.csdn.net/qq_38889342/article/details/87919807