Linux command archived ii
00:00
You and I
Will Armex
| |

分享日常运维需要的 LINUX 命令, 归纳整理容易记忆理解
linux已知命令都是第一个参数为源文件,第二个参数为目标文件
sshpass 可以为后面的 shell 提供密码服务
$ sshpass -p xxxx ssh root@xx.xx.xx.xx "mv -f /usr/share/gomyck/xx/xx.jar /usr/share/gomyck/xx/backup/xx.jar.`date "+%Y-%m-%d-%l-%M-%s"`"
$ sshpass -p xxxx scp /usr/share/gomyck/xx/xx.jar root@xx.xx.xx.xx:/usr/share/gomyck/xx/
用户操作
#添加用户
$ useradd gomyck -g gomyck -s /bin/bash -d /home/gomyck
#修改用户信息
$ usermod -s .. gomyck
#修改密码
$ passwd gomyck
查看系统内核信息
$ lsb_release -a
$ cat /etc/redhat-release
查看IP经过的路由节点
# traceroute www.baidu.com
$ traceroute [IP][HOST]
切换当前命令行权限为ROOT
$ sudo -i
查看当前文件inode信息
stat [file]
硬盘信息查看
$ df -hl #查看当前可用硬盘空间
$ du -Sh #查看所有文件的大小
$ du -sh #查看当前文件大小
$ du -sh /usr #查看usr文件夹的大小
修改密码
passwd [用户id]
查看ip地址
$ ip addr
$ ifconfig
不挂起命令: nohup no hang up
$ nohup [command]
后台执行命令: 防止当前shell占用控制台桌面
$ [command] &
nohup & 组合使用:
nohup [command] > gomyck.log 2>&1 & 把当前进程不挂起后台执行, 且把控制台打印的日志输出到gomyck.log中
2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个& , 是让该命令在后台执行。
命令帮助
$ whatis [command] # 显示命令简要信息
$ info [command] # 显示命令的详细信息
$ man [command] # 显示命令的说明文档
$ which [command] # 查看命令所在目录
$ whereis [command] # 查看命令引用的目录(这个命令适用于安装了多个版本, 确定当前使用的是哪个目录下的命令)
设置环境变量
$ vim /etc/profile
$ ~/.profile
$ ~/.bashrc
$ /.bash_profile #用户环境变量
$ ~/.zshrc #zsh
# 在上述文件中,
# XXX_HOME=/User/xxx/vvv
# export PATH={XXX_HOME}/bin:$PATH
清理内存
$ echo 1 > /proc/sys/vm/drop_caches
查看进程对应的端口号
$ netstat -nap | grep pid
占用端口的进程信息
$ lsof -i:port
查看该进程下的线程
$ ps -T -p pid
alias
$ cd /etc
$ vim profile
$ alias tom1='cd /usr/share/my-tomcat-one'
$ source profile
$ alias tom1
telnet
$ telnet ip port
$ ctrl+] #进入telnet
$ quit enter #回车 退出telnet
systemctl
# systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。
$ systemctl start xxx 可以启动服务
curl
$ curl -R -0 "www.baidu.com" # 访问baidu
$ curl -O xxx.rar www.xxx.com/aa.tar # 下载
linux欢迎界面显示信息
$ vim /etc/motd文件
创建快捷方式
$ ln -s 源文件 现有文件
# exp:ln -s /user/bin/qq.exe ./qq
测试远程端口开放
$ nc -vv 47.93.89.154 1099
查找符合条件字符串的上下3行
grep -C 3 '140.205.201.41' catalina.out
查找文件 find
$ find / -name xxx
文件夹
- #上次访问的文件夹
#exp: cd - 访问上次cd的文件夹
~ #代表当前用户文件夾
#exp: cd ~/.ssh 就是进入当前用户下的.ssh文件夹
#其目录在/home/{user}
zip unzip
# 压缩并指定目录
$ zip -r /home/kms/kms.zip /home/kms/server/kms
# 解压并指定目录
$ unzip /home/kms/kms.zip -d /home/kms/server/kms
查看cpu信息
$ lscpu
free
命令:-m 查看[以MB为单位]内存信息
关机
$ shutdown
# exp:
# shutdowx -h now 立即关机
# shutdowx +5 5分钟之后关机
# shutdowx 10:30 10:30关机****
cat 合并文件&查看文件
$ cat xxx.txt >> vvv.txt #(把xxx这个文件合并到vvv文件之后)
$ cat xxx.txt vvv.txt >zzz.txt #(把xxx与vvv合并成新的文件zzz)
mv 移动&修改名字命令
$ mv xxx.txt ../ #把xxx.txt 移动到上一级
$ mv xxx.txt zzz.txt #把xxx.txt 重命名为 zzz.txt
其他常用命令
$ pwd #显示当前目录
$ find #搜索
$ who #当前登陆者:所有人 查看登录日志 who /var/log/wtmp
$ whoami #当前登陆者信息
$ hostname #主机名
$ uname -a #系统信息
$ ifconfig #网络情况
$ unaliax #解除别名
打包压缩
tar
参数:
-c 归档文件 -x 解档文件
-z gzip压缩 -j bzip2压缩
-v 显示过程 -f 使用归档名
$ tar -cvf /home/xxx.tar /usr/aaa.txt #把usr目录下的aaa.txt压缩成xxx.tar并放到home文件夹下
远程拷贝命令
$ scp ../xxx.jar root@11.11.11.11:/usr/share/xxxxx
# (注意:最后的文件夹结尾不要加/ 否则会把当前文件当作文件夹拷贝过去)
$ scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2
scp命令的参数说明:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
用户及用户组管理
$ /etc/passwd #存储用户账号
$ /etc/group #存储组账号
$ /etc/shadow #存储用户账号的密码
$ /etc/gshadow #存储用户组账号的密码
$ useradd #用户名
$ userdel #用户名
$ adduser #用户名
$ groupadd #组名
$ groupdel #组名
$ passwd root #给root设置密码
$ su root #切换用户到 root
$ su - root #shell 环境和用户都切换到 root
$ /etc/profile #系统环境变量
$ bash_profile #用户环境变量
$ .bashrc #用户环境变量
$ su user #切换用户,加载配置文件.bashrc
$ su - user #切换用户,加载配置文件/etc/profile ,加载bash_profile
# 更改文件的用户及用户组
$ sudo chown [-R] owner[:group] {File|Directory}
# 例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop 要想切换此文件所属的用户及组。可以使用命令。
$ sudo chown root:root jdk-7u21-linux-i586.tar.gz
文件权限管理
三种基本权限
R 读 数值表示为4
W 写 数值表示为2
X 可执行 数值表示为1
如图所示,jdk-7u21-linux-i586.tar.gz 文件的权限为-rw-rw-r--
-rw-rw-r--一共十个字符,分成四段
第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6
第五六七个字符“rw-”表示当前所属组的权限。 所以用数值表示为4+2=6
第八九十个字符“r--”表示其他用户权限。 所以用数值表示为2
所以操作此文件的权限用数值表示为662
更改权限
$ sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名
例如:有一个文件filename,权限为“-rw-r—-x” ,将权限值改为”-rwxrw-r-x”,用数值表示为765
$ sudo chmod u+x g+w o+r filename
#上面的例子可以用数值表示
$ sudo chmod 765 filename

相关文章:
- 删除 mac 默认输入法 18-11-2021
- Linux command archived i 10-08-2021
- SHELL 脚本加密 15-06-2021
- CentOS 双网卡实战 09-09-2020
- crontab 使用方法 07-01-2020