linux命令小结

简介:

mkdir 创建文件目录

mkdir -p 递归创建目录

1
2
[root@localhost ~] # mkdir zabbix
[root@localhost ~] # mkdir zabbix/web/log -p

cd 切换目录

1
2
3
4
cd  - 切换上次的目录
cd  ~ 加目录
cd  ./当前目录
cd  ../  上级目录

pwd 查看当前路径

1
2
3
4
[root@localhost ~] # cd zabbix/web/log/
[root@localhost log] # pwd
/root/zabbix/web/log
[root@localhost log] #

touch 创建文件

ls 查看目录下的文件属性

1
2
3
4
5
6
7
8
9
ls 列出文件目录
ls  -l 列表展示ll
ls  -d 查看目录属性
ls  -a 查看隐藏文件
[root@localhost log] # touch aa.txt bb.txt
[root@localhost log] # ls
aa.txt  bb.txt
[root@localhost log] # ll -d /root/zabbix/web/log/
drwxr-xr-x. 2 root root 4096 Jan  1 21:37  /root/zabbix/web/log

echo 打印输出

1
2
[root@localhost log] # echo linux zabbix 3.0
linux zabbix 3.0

vi/vim Linux中的记事本编辑器

1
2
(wq!保存退出,q!不保存退出,i+a编辑文件)
set  nu 显示行数, dd 删除整行,yy复制,p粘贴,行号gg 切换到行数,G 文件尾部 gg 文件首部)

cat 查看命令-n 显示行数

1
2
3
4
5
6
7
[root@localhost log] # echo linux zabbix 3.0 > aa.txt 
[root@localhost log] # cat aa.txt 
linux zabbix 3.0
[root@localhost log] # echo windows zabbix 3.0 >>aa.txt 
[root@localhost log] # cat -n aa.txt 
      1  linux zabbix 3.0
      2  windows zabbix 3.0

tac 反转命令输出

1
2
3
[root@localhost log] # tac aa.txt 
windows zabbix 3.0
linux zabbix 3.0

cp  拷贝命令

cp -r 拷贝目录 -p文件

1
2
3
4
5
6
[root@localhost log] # ls
aa.txt  bb.txt  cacti
[root@localhost log] # ls cacti/
[root@localhost log] # cp *.txt cacti/
[root@localhost log] # ls cacti/
aa.txt  bb.txt

mv  移动目录 也可以改名

1
2
3
4
5
[root@localhost log] # ls
aa.txt  bb.txt  cacti
[root@localhost log] # mv cacti www
[root@localhost log] # ls
aa.txt  bb.txt  www

rm  删除命令

rm -rf 强制删除

1
2
3
4
5
[root@localhost log] # ls
aa.txt  bb.txt  www
[root@localhost log] # rm -rf www
[root@localhost log] # ls
aa.txt  bb.txt

head -n 显示文件头部

tail -n 显示文件尾部

tail -f 跟踪文件变化

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost log] # head -5 aa.txt 
1
2
3
4
5
[root@localhost log] # tail -5 aa.txt 
6
7
8
9
10

grep 过滤功能

-v 排除 -E 可以写多个 -i 忽略大小写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost log] # grep "8" aa.txt  
8
[root@localhost log] # grep -v "8" aa.txt 
1
2
3
4
5
6
7
9
10
[root@localhost log] # grep -vE "1|2|3|4|5" aa.txt 
6
7
8
9
[root@localhost log] # grep -vE "10|2|3|4|5" aa.txt 
1
6
7
8
9


sed  取行p  -n 输出 

1
2
3
4
5
6
7
[root@localhost log] # sed -n 3p aa.txt 
3
[root@localhost log] # sed -n 3,6p aa.txt  
3
4
5
6

alias  别名

unalias  取消别名

1
2
3
4
5
6
[root@localhost ~] # echo 'echo "www.021soso.com"' > zabbix/soso/so 
[root@localhost ~] # chmod a+x zabbix/soso/so
[root@localhost ~] # echo 'PATH=/root/zabbix/soso/:$PATH' >> /etc/profile
[root@localhost ~] # source /etc/profile
[root@localhost ~] # so
www.021soso.com

which  查看命令所在路径

1
2
[root@localhost ~] # which so
/root/zabbix/soso/so

    find  查找文件 -type f d -name 名字查找 -mtime 时间查找

1
2
[root@localhost ~] # find / -type f -name "so"
/root/zabbix/soso/so


    tree 查看目录结构

1
2
3
4
5
6
7
8
9
[root@localhost ~] # tree zabbix/
zabbix/
├── soso
│?? └── so
└── web
     └── log
         ├── aa.txt
         └── bb.txt
3 directories, 3 files

xargs  用于find/ls 的输出交给后面处理

1
[root@localhost ~] # find / -type f -name "aa.txt" |xargs sed -i s#1#windows#g

seq -s  打印数字序列 echo {1..5}

man  查看文件帮助

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~] # seq 5 8
5
6
7
8
[root@localhost ~] # seq -s "@" 5
1@2@3@4@5
[root@localhost ~] # seq 3 |tac
3
2
1

history  查看历史纪录,-c 清空所有,-d 行数

查看历史执行过的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost ~] # history 
   422   useradd  user
   423   passwd  user
   424   echo  "123456"  passwd  --stdin user
   425   su  - user
   426   history 
[root@localhost ~] # history -d 424(删除某行的信息)
  422   useradd  user
   423   passwd  user
   424   su  - user
   425   history 
   426   history  -d 424
   427   history 
[root@localhost ~] # history -c(删除全部历史记录)
[root@localhost ~] # history 
     1   history

vimdiff 对比文件差异

wKioL1aIuf3QVvpbAAA2RAocRBE260.png

useradd 创建用户

passwd 修改密码  --stdin

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~] # useradd user
[root@localhost ~] # passwd user
Changing password  for  user user.
New password: 
BAD PASSWORD: it is too simplistic /systematic
BAD PASSWORD: is too simple
Retype new password: 
passwd : all authentication tokens updated successfully.
[root@localhost ~] # echo "12345" | passwd --stdin user
Changing password  for  user user.
passwd : all authentication tokens updated successfully.

su  切换角色,注意带上 -

whoami 查看当前用户

w 查看都是谁登录了机器

1
2
3
4
5
6
7
8
[root@localhost ~] # su user
[user@localhost root]$ w
  22:28:03 up 58 min,  2  users ,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts /0     172.16.13.128    21:34    3:27   0.27s  0.03s vimdiff aa.txt
root     pts /1     172.16.13.128    22:24    0.00s  0.01s  0.00s w
[user@localhost root]$  whoami 
user

sudo 让普通用户可以拥有root权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@web-172 ~] # visudo 
98gg 定位行  vi 编辑器里面
yy 复制 p 粘贴
root    ALL=(ALL)       ALL
user    ALL=(ALL)        /usr/sbin/useradd
切换普通用户 创建用户不可以  sudo 权限创建
[root@web-172 ~] # su - user
[user@web-172 ~]$  sudo  useradd  aa
We trust you have received the usual lecture from the  local  System
Administrator. It usually boils down to these three things:
     #1) Respect the privacy of others.
     #2) Think before you type.
     #3) With great power comes great responsibility.
[ sudo ] password  for  user: (授权) 输入密码是自己的密码
[user@web-172 ~]$  tail  -1  /etc/passwd
aa:x:501:501:: /home/aa : /bin/bash

yum 软件管理工具 解决rpm包依赖

rpm -vih 软件安装

1
[root@localhost ~] # yum -y install wget

chkconfig 开机启动管理

netstat 查看网络连接状态

1
2
3
[root@web-172 ~] # netstat -an|grep "22"(查看22端口谁在连接使用)
tcp        0     52 172.16.13.143:22            172.16.13.128:49328         ESTABLISHED 
unix  3      [ ]         STREAM     CONNECTED     9922


#Linux为什么安全,就是因为权限分配的好

lsof -i 查看端口


chattr 给文件加i 减i

lsattr 查看文件是否加i

锁定系统关键文件

(加锁)

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@web-172 ~] # chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 
[root@web-172 ~] # useradd bb
useradd : cannot  open  /etc/passwd
(解锁)
[root@web-172 ~] # chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 
[root@web-172 ~] # useradd bb
修改命令名字,让黑客找不到命令
[root@web-172 ~] # mv /usr/bin/chattr /usr/bin/chatt
[root@web-172 ~] # chattr +i /etc/passwd
- bash /usr/bin/chattr : No such  file  or directory
[root@web-172 ~] # chatt +i /etc/passwd
[root@web-172 ~] # chatt -i /etc/passwd
lasttr  /etc/passwd   (查看文件是不是加锁了)


;多个命令的分割符

| 管道 前输出后输入

/根或者路径的分隔符

> 或1>  输出 覆盖

>> 追加

PATH 全局变量



本文转自 好笔记运维 51CTO博客,原文链接:http://blog.51cto.com/zhang789/1731037,如需转载请自行联系原作者


相关文章
|
11天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
11天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
8天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
30 9
|
1天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
9 0
|
2天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
22 6
Linux 中的 Nslookup 命令怎么使用?
|
3天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
4天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
4天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
48 0
|
7天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
24 4
Linux系统监控利器:探索常用命令及数据保存技巧
|
10天前
|
Linux 索引
linux 文件查找 和文件管理常用命令
linux 文件查找 和文件管理常用命令
19 0