Linux常见命令

Linux常见命令

1. 打印命令

  • echo
echo hello linux

echo hello linux > a.txt #覆盖

echo hello linux1 >> a.txt #追加

[root@v1 data]# echo hello linux
hello linux
[root@v1 data]# echo hello linux > a.txt
[root@v1 data]# cat a.txt
hello linux
[root@v1 data]# echo hello linux1 >> a.txt
[root@v1 data]# cat a.txt
hello linux
hello linux1
[root@v1 data]# echo hello linux > a.txt
[root@v1 data]# cat a.txt
hello linux

2. ls命令

ls      #查看文件和目录
ls -l   #(long)详细列表
ls -a   #查看所有文件和目录(包括隐藏的)
ll      #等同于ls -l

[root@v1 ~]# ls
anaconda-ks.cfg post_install.log
[root@v1 ~]# ls -l
total 4
-rw-------. 1 root root 1475 Jan 27 2016 anaconda-ks.cfg
-rw-r–r–. 1 root root 0 Jan 27 2016 post_install.log
[root@v1 ~]# ll -a
total 40
dr-xr-x—. 5 root root 4096 Jul 6 11:44 .
dr-xr-xr-x. 18 root root 4096 Jul 6 16:40 …
-rw-------. 1 root root 1475 Jan 27 2016 anaconda-ks.cfg
-rw------- 1 root root 45 Jul 5 15:06 .bash_history
-rw-r–r–. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r–r–. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r–r–. 1 root root 176 Dec 29 2013 .bashrc
-rw-r–r–. 1 root root 100 Dec 29 2013 .cshrc
drwxr-xr-x 2 root root 39 Jul 6 11:44 .oracle_jre_usage
drwxr----- 3 root root 18 Jan 27 2016 .pki
-rw-r–r–. 1 root root 0 Jan 27 2016 post_install.log
drwx------ 2 root root 28 Jul 6 10:57 .ssh
-rw-r–r–. 1 root root 129 Dec 29 2013 .tcshrc
-rw------- 1 root root 511 Jul 5 15:04 .viminfo
[root@v1 ~]# ll
total 4
-rw-------. 1 root root 1475 Jan 27 2016 anaconda-ks.cfg
-rw-r–r–. 1 root root 0 Jan 27 2016 post_install.log
[root@v1 ~]#

3. man命令

man ls  #查看ls的帮助文档

在这里插入图片描述

4. vim命令

vim a.txt  #进行文本编辑

进入文档中可以使用如下命令:

  • i: 在当前光标的前面插入字符
  • o: 在当前光标的下一行行首插入字符

点击esc后输入如下可以退出:

  • :q 若文件没有修改,直接退出
  • :q! 文件已经被修改,放弃修改退出
  • :wq 文件已经被修改,保存修改并退出

5. cd 进入目录


cd ~    #进入用户的宿主目录

cd ..     #进入上级目录

cd ./     #当前目录

cd        #等同于 cd ~

cd - 进入上一个历史目录

[root@v1 ~]# cd /opt/software/
[root@v1 software]# cd …
[root@v1 opt]# cd ~
[root@v1 ~]# cd -
/opt
[root@v1 opt]# cd ./
[root@v1 opt]# cd
[root@v1 ~]#

6. pwd 显示当前工作目录

[root@v1 software]# pwd
/opt/software
[root@v1 software]#

7. su 切换用户

[root@v1 software]# su vagrant
[vagrant@v1 software]$ su root
Password:
[root@v1 software]#

8. mkdir 创建目录

mkdir data   #创建目录
mkdir -p data/d0706/t1  #-p自动产生父目录
  • -p 父目录不存在情况下先生成父目录 (parents)

[root@v1 software]# mkdir data
[root@v1 software]# mkdir -p data/d0706/t1
[root@v1 software]# tree data
data
└── d0706
└── t1
2 directories, 0 files
[root@v1 software]#

9. tree 以树列表目录

#使用root用户进行下载
yum install -y tree

tree #展示当前所在目录
tree 目录名或目录路径

[root@v1 data]# tree
.
└── d0706
└── t1
2 directories, 0 files
[root@v1 data]# tree /opt/software/data/
/opt/software/data/
└── d0706
└── t1
2 directories, 0 files
[root@v1 data]#

10. touch 创建空文件

[root@v1 data]# touch b.txt
[root@v1 data]# ll
total 0
-rw-r–r-- 1 root root 0 Jul 6 17:12 b.txt
drwxr-xr-x 3 root root 15 Jul 6 17:06 d0706
[root@v1 data]#

11. cp 拷贝文件,目录

cp a.txt ../  # 将a.txt拷贝到上一级目录中
cp -r opt/software/data/d0706  ../
  • -r:递归拷贝

[root@v1 d0706]# cp a.txt …/
[root@v1 d0706]# tree …/
…/
├── a.txt
├── b.txt
└── d0706
├── a.txt
└── t1
2 directories, 3 files
[root@v1 d0706]#

12. rm 删除文件或者目录

rm a.txt         #删除a.txt
rm -r d0706  # 递归删除
rm -rf d0706 #强制删除
  • -r:递归删除
  • -f:强制删除

[root@v1 d0706]# ll
total 0
-rw-r–r-- 1 root root 0 Jul 6 17:14 a.txt
drwxr-xr-x 2 root root 6 Jul 6 17:06 t1
[root@v1 d0706]# rm a.txt
rm: remove regular empty file ‘a.txt’? y
[root@v1 d0706]# ll
total 0
drwxr-xr-x 2 root root 6 Jul 6 17:06 t1
[root@v1 d0706]# cd …/
[root@v1 data]# rm -rf d0706/
[root@v1 data]# ll
total 0
-rw-r–r-- 1 root root 0 Jul 6 17:14 a.txt
-rw-r–r-- 1 root root 0 Jul 6 17:12 b.txt
[root@v1 data]#

13. mv 移动文件和目录或文件重命名

[root@v1 data]# ll
total 0
-rw-r–r-- 1 root root 0 Jul 6 17:14 a.txt
-rw-r–r-- 1 root root 0 Jul 6 17:12 b.txt
drwxr-xr-x 2 root root 6 Jul 6 17:22 d0706
[root@v1 data]# mv a.txt d0706/c.txt
[root@v1 data]# tree
.
├── b.txt
└── d0706
└── c.txt
1 directory, 2 files
[root@v1 data]#

14. cat 显示文本文件内容

cat a.txt
cat a.txt > b.txt #把a.txt内容覆盖到b.txt
cat a.txt >> b.txt #吧a.txt追加到b.txt

[root@v1 data]# cat a.txt
hello linux
[root@v1 data]#

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

more /etc/profile # 看完直接退出
less /etc/profile # 看完需要手动退出

分页显示中可用的快捷键:

  • ctrl + f

16. head 显示前几行内容

[root@v1 data]# head -n 5 a.txt
hello linux
hello linux
hello linux
hello linux
hello linux1
[root@v1 data]#

17. tail 显示后几行数据

tail -n 10 a.txt
  • -n 显示后几行数据
  • -f b.log 循环读取(fellow,即时读取)

在这里插入图片描述

18. wc 统计文本的行数、字数、字符数

wc -w -l -m a.txt
  • -m 统计文本字节数
  • -w 统计文本字数(空格相隔的单词个数)
  • -l 统计文本行数

19. find 查找文件

find -name a.java

[root@v1 /]# find -name a.txt
./opt/software/data/a.txt
[root@v1 /]#

20. grep 查找文本

grep java a.txt -n  #提示在第几行
grep java a.txt -i  #不区分大小写查找
grep java a.txt -o  #显示所有查找结果

[root@v1 data]# grep java a.txt -o
java
java
java
[root@v1 data]# grep java a.txt -n
11:hello java
12:hello java1
13:hello java2
[root@v1 data]# grep JAVA a.txt -i
hello java
hello java1
hello java2
[root@v1 data]#

21. ln

ln -s 目标地址 文件名  #创建软连接

[root@v1 opt]# ln -s /opt/software/data/a.txt a1
[root@v1 opt]# ll
total 0
lrwxrwxrwx 1 root root 24 Jul 6 18:44 a1 -> /opt/software/data/a.txt
drwxr-xr-x 7 root root 76 Jan 27 2016 puppetlabs
drwxr-xr-x 4 root root 28 Jul 6 17:06 software
drwxr-xr-x 2 root root 6 Jul 4 16:16 VBoxGuestAdditions-4.3.30
drwxr-xr-x 8 root root 127 Jul 4 16:17 VBoxGuestAdditions-6.1.16
[root@v1 opt]# cat a1
hello linux
hello linux
hello linux
hello linux
hello linux1
hello linux2
hello linux3
hello linux4
hello linux5
hello linux6
hello java
hello java1
hello java2
[root@v1 opt]#

只是一部分简单常用的命令,并不完整和全面,后续会持续更新所学内容

1.系统命令

1.1 du

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

  • -h 显示单位
  • -s 显示总的大小

[root@v1 software]# cd
[root@v1 ~]# du -s -h
52K .
[root@v1 ~]#

1.2 free

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

[root@v1 ~]# free
total used free shared buff/cache available
Mem: 8011464 120428 7651720 8780 239316 7693252
Swap: 1023996 0 1023996
[root@v1 ~]#

1.3 netstat

显示网络状态信息,查看端口占用情况

  • -a 显示所有连接和监听端口
  • -t (tcp)仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化成数字。
  • -p 显示建立相关链接的程序名
sudo yum install net-tools -y
#sudo:得的管理员权限执行命令

> 这里是引用

1.4 ifconfig

网卡网络配置详解
在这里插入图片描述

1.5 ping

测试网络的连通性
在这里插入图片描述

1.6 top

显示当前系统中耗费资源最多的进程 (实时)
在这里插入图片描述

1.7 ps

显示瞬间的进程状态(快照)

  • -e /-A 显示所有进程,环境变量
  • -f 全格式
  • -a 显示所有用户的所有进程(包括其它用户)
  • -u 按用户名和启动时间的顺序来显示进程
  • -x 显示无控制终端的进程
    在这里插入图片描述
ps -aux

#管道 命令1 | 命令2 把命令1的结果给命令2作为参数
 cat a.txt | grep java
 
 ps -aux | grep tail

1.8 kill

根据进程ID(pid)杀死进程

[root@v1 ~]# ps -aux | grep tail
root 9656 0.0 0.0 107932 624 pts/2 S+ 18:45 0:00 tail -f -n 10 a.txt
root 11333 0.0 0.0 112644 948 pts/0 S+ 18:46 0:00 grep --color=auto tail
[root@v1 ~]# kill -9 9656
[root@v1 ~]# ps -aux | grep tail
root 11871 0.0 0.0 112644 948 pts/0 R+ 18:46 0:00 grep --color=auto tail
[root@v1 ~]#

3.压缩和打包命令

3.1 gzip

把文件压缩成gz格式

[root@v1 data]# gzip a.txt
[root@v1 data]# ll
total 8
-rw-r–r-- 1 root tom0 82 Jul 7 14:47 a.txt.gz
-rw-r–r-- 1 root tom0 0 Jul 6 17:12 b.txt
-rw-r–r-- 1 root tom0 165 Jul 7 10:19 c.txt
drwxr-xr-x 2 root tom0 18 Jul 7 14:47 d0706
[root@v1 data]# gzip -d a.txt.gz
[root@v1 data]# ll
total 8
-rw-r–r-- 1 root tom0 175 Jul 7 14:47 a.txt
-rw-r–r-- 1 root tom0 0 Jul 6 17:12 b.txt
-rw-r–r-- 1 root tom0 165 Jul 7 10:19 c.txt
drwxr-xr-x 2 root tom0 18 Jul 7 14:47 d0706
[root@v1 data]#

3.2 bzip2

以bzip2格式压缩和解压

[root@v1 data]# bzip2 a.txt
[root@v1 data]# ll
total 8
-rw-r–r-- 1 root tom0 95 Jul 7 14:47 a.txt.bz2
-rw-r–r-- 1 root tom0 0 Jul 6 17:12 b.txt
-rw-r–r-- 1 root tom0 165 Jul 7 10:19 c.txt
drwxr-xr-x 2 root tom0 18 Jul 7 14:47 d0706
[root@v1 data]# bzip2 -d a.txt.bz2
[root@v1 data]# ll
total 8
-rw-r–r-- 1 root tom0 175 Jul 7 14:47 a.txt
-rw-r–r-- 1 root tom0 0 Jul 6 17:12 b.txt
-rw-r–r-- 1 root tom0 165 Jul 7 10:19 c.txt
drwxr-xr-x 2 root tom0 18 Jul 7 14:47 d0706
[root@v1 data]#

3.3 tar(推荐)

打包目录成tar文件
整合gzip和bzip2压缩

  • -c 建立一个压缩文件的参数指令(create)
  • -x 解开一个压缩文件的参数指令(extract)
  • -z 是否需要用 gzip 压缩
  • -j 是否需要用 bzip2 压缩
  • -v 压缩的过程中显示文件(verbose)
  • -f 使用档名,在 f 之后要立即接档名(file)

打包和解包
在这里插入图片描述

以gzip方式压缩和解压
在这里插入图片描述

以biz2方式压缩和解压

在这里插入图片描述

解压到指定目录
在这里插入图片描述

3.vim命令

vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。

vim的模式

在这里插入图片描述

3.1 底行命令

  • :wq保存退出
  • :q! 不保存退出
  • :q 退出,如果内容有改变不能退出
  • :set number 显示行号
  • :set nonumber 隐藏行号
  • :w filename 另存为文件
  • :e!撤销所有操作
  • :行号:调到指定的行

3.2 移动命令

  • w b 下一个,上一个单词
  • 0, $ 行首,行尾
  • gg 第一行
  • G 最后一行
  • xG到x行

3.3 替换命令

  • :1,$s/private/public/g 将第一行到追后一行的private替换为public
  • :1,$s/public/protected/c 将第一行到追后一行的public替换为protected(有提示)

3.4 编辑命令

  • x删除一个字符
  • dd 删除一行
  • yy复制一行
  • p粘贴
  • 输入v进入选择模式,选择内容,输入y复制,调到要黏贴的位置输入p粘贴
  • 输入u 撤销操作
  • 在一般模式中输入/8080查找8080,输入n查找下一个
  • 在一般模式输入r+替换的字符,执行替换

4.用户管理

linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰

4.1 用户管理的配置文件

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

4.2 /etc/passwd格式用户名 用户登陆系统的用户名

用户名登陆系统的用户名
密码密码位
UID用户标示号
GID默认组标示号
描述信息存放用户的描述信息
宿主目录用户登陆系统的默认目录,默认是在/home/下
命令解析器用户使用的Shell,默认是bash

4.3 用户的组

  • 每个用户至少属于一个用户组
  • 如果创建用户,没有指定组,此用户指定跟用户名同名组
  • 每个用户组可以包含多个用户
  • 同一个用户组的用户享有该组共有的权限
组名用的所在的组
组密码密码位,一般不使用
GID主标示号
组内用户列表属于改组的用户列表

3.5 用户和组管理命令

3.5.1 用户管理命令

  • useradd:添加用户
    • -u 指定组ID(uid)
    • -g 指定所属的组名(gid)
    • -G 指定多个组,用逗号“,”分开(Groups)
    • -c 用户描述(comment)
    • -e 失效时间(expire date)
  • usermod:修改用户
    • -l 修改用户名 (login)usermod -l a b(b改为a)
    • -g 添加组 usermod -g sys tom-G添加多个组 usermod
    • -G sys,root tom–L 锁定用户账号密码(Lock)
    • –U 解锁用户账号(Unlock)
  • userdel:删除用户
    • -r 删除账号时同时删除目录(remove)

3.5.2 组管理的命令

  • 添加组:groupadd
    • -g 指定gid
  • 修改组:groupmod
    • -n 更改组名(new group)
  • 删除组:groupdel
  • groups 显示用户所属组

3.5.3 案例:

添加一个jack用户,设置它属于users组,并添加注释信息

useradd jack
usermod -g users jack
usermod -c "hr jack" jack

#等于上面三个命令
useradd -g users -c "hr jackson" jackson

设置密码

passwd jack

将jack添加到sys和root组中

usermod -G sys,root jack

把jack从sys组中删除

gpasswd -d jack sys

添加一个hr组

groupdd hr

修改hr组为sale组

groupmod -n sale hr

vagrant添加到sale组

usermod -g sale vagrant

1.权限管理

1.1权限表示符号

在这里插入图片描述
执行 ll 命令
在这里插入图片描述

  • 第1位:文件类型(d 目录,- 普通文件,l 链接文件)
  • 第2-4位:所属用户权限,用u(user)
  • 表示第5-7位:所属组权限,用g(group)表示
  • 第8-10位:其他用户权限,用o(other)表示
  • 第2-10位:表示所有的权限,用a(all)表示

三种基本权限

  • r 读权限(read)4
  • w 写权限(write)2
  • x 执行权限 (execute)1

1.2 chmod命令

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

  • 参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)
  • 两种方式
    • 例如:chmod u+x a.txt,给a.txt增加当前用户的执行权限
    • 用数字来表示权限(r=4,w=2,x=1,-=0) 例如:chmod 750 b.txt :表示b.txt的权限当前用户是rwx,当前用户的组rx,其他用户没有权限

案例:

su vagrant
#设置~/vagrant目录让其他人可以进入
chmod o+x vagrant
#这时我们切换tom,可以执行(进入)~/vagrant
su tom 
cd /home/vagrant
#设置~/vagrant的目录的其他用户有读写执行权限
su vagrant/root
chmod o+rwx ~/vagrant

#修改a.txt的权限,让所有人有读写执行
su root/vagrant
chmod 777 ~/a.txt
#修改a.txt的权限,当前用户

在这里插入图片描述

#设置a.txt文件
当前用户(u)
 - rwx
当前组(g)
 - rx
 其他用户(o)
 - 没有权限
 所有用户(a)
  xxx

#方式1
chomod u+rwx,g-w,o-rwx ~/a.txt
#方式2
chmod 750 a.txt

1.3 chown命令

改变文件所属用户,文件所属的组

  • -R:递归
chown root:users a.txt
#使用tom查看a.txt文件,因为tom属于users,所以可以查看
cat a.txt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值