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 对比文件差异

linux命令小结

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,如需转载请自行联系原作者


上一篇:每天linux命令_ls命令


下一篇:ArrayList集合的四种遍历方法Demo