Linux 命令大全
1、安装SSH服务
sudo apt-get install openssh-server
2、配置端口
sudo vi /etc/ssh/sshd_config port 22
修改端口 PermitRootLogin yes 允许远程登陆
3、启动、重启SSH服务端
sudo /etc/init.d/ssh start
service ssh start
sudo /etc/init.d/ssh restart
或者 service ssh restart
4、远程连接: ssh root@serverIP -p [port]
5、设置开机自启动
sudo systemctl enable ssh #开启
sudo systemctl disable ssh #关闭
系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
killall [soft]
- 安装软件:
sudo apt-get install SoftName
- 卸载软件:
sudo apt remove SoftName
- 查看系统信息:
uname -a
- 安装查询软件:sudo apt install neofetch screenfetch
- -终端查询命令:neofetch 或 screenfetch
常用命令还有:
uname -a #查询内核版本
cat /proc/cpuinfo #查询CPU信息
hostname #查看计算机名
lspci #列出所有PCI设备
lsusb #列出所有USB设备
lsmod #列出加载的内核模块
env #查看环境变量资源
free -m #查看内存使用量和交换区使用量
df -h #查看各分区使用情况
ifconfig #查看网络接口属性,需 sudo apt install net-tools 或 ip address
14 route -n #查看路由表,或 ip route
文件及目录基本命令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
文件权限管理
chmod [] #更改文件权限,r是读,w是写,x是执行权限
chown #更改文件、目录拥有者
chgrp #更改用户组
打包压缩相关命令
gzip:
-d 解压*gz包
bzip2:
tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。
关机/重启机器
shutdown -f [time] #now
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启
- 关机shutdown:
shutdown -f [time] #now
poweroff #关闭系统
vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
插入模式下:
100 dd 删除100行
10 yy p 复制10行 p 粘贴
h 左移一个字符
k 上移一个字符
j 下移一个字符
w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
b 向后移动一个单词 2b 向后移动2个单词
e,同w,只不过是光标停在单词尾部
ge,同b,光标停在单词尾部。
gg 移动到文件头。 = [[
G(shift + g) 移动到文件尾。 = ]]
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
用户及用户组管理
/etc/passwd 存储用户账号
/etc/group 存储组账号
/etc/shadow 存储用户账号的密码
/etc/gshadow 存储用户组账号的密码
useradd [op] 用户名 #新增用户
userdel 用户名 #删除用户
adduser 用户名 #新增用户
groupadd 组名
groupdel 组名
passwd user #给user用户设置密码
su root
su - 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
硬盘操作
lsblk 查看本地磁盘信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 59.5G 0 disk
└─sdb1 8:17 1 6.9G 0 part /media/xxx/xxxx
sda 8:0 0 40G 0 disk
└─sda1 8:1 0 40G 0 part /
fdisk 查看本地磁盘
-a 查看所有磁盘
cfdisk
/dev/sdb #对sdb进行操作
dd
dd if=/dev/sdb of=/root/image.img #将image.img 写入sdb
if=文件名:指定输入文件名或者设备名,如果省略“if=文件名”,则表示从标准输入读取。
of=文件名:指定输出文件名或者设备名,如果省略“of=文件名”,则表示写到标准输出。
*.deb二进制包安装/卸载:
安装:dpkg -i *.deb
卸载:sudo dpkg -r xxSoftName
find查找文件
find path -name 'file'
Eg:find / -name like.txt
在’/‘目录下查找’like.txt’文件,可用’*’、’?’通配符开启SSH远程登陆
为安全故,Linux默认是关闭远程登陆的
sudo vim /etc/ssh/sshd_config
将38行:PermitRootLogin no 改为:PermitRootLogin yes
将115行:UseDNS no 改为:UseDNS yes 省略DNS验证。
重启SSH:
service sshd restart
或者:
/etc/initd.d/sshd restart
2.2文件及目录操作命令:
- 打印目录列表:
ls -all
- 文件/目录复制:
cp old new
- 文件/目录移动:
mv old new
- 删除文件/目录(非空目录加-r递归,加-f不提示):
rm -op path
- 改变目录 cd:
cd path
- 打印当前路径pwd:
`pwd’ - 新建文件夹mkdir:
mkdir name
mkdir -r path
#-r为递归创建 - 运行当前目录下文件:
./filename
- 编辑文件vim
vim file
编辑按i键 退出按ESC 再按:
:q 为退出不写入
:wq 为写入并退出
:!q 为强制退出 - 查看文件内容:
cat file
2.3 权限操作命令:
chown设置文件/目录拥有者:
chown user path(dir/files)
chmod设置文件目录权限:
chmod -R 777 path(dir/file)
这里的777是权限:r=4、w=2、x=1、无权限=0属主:rwx=4+2+1=7
属组:r-x=4+0+1=5
其他:—=0+0+0=0
2.4 网络操作命令
ssh 终端远程连接:
ssh -p [port] user@[ip or URL]
Eg:ssh -p 222 root@abc.cn
查看本机ip地址
ifconfig -a
下载网络文件wget:
wget url
修改IP地址(Ubuntu)
方法一:修改网络配置文件:
# vim /etc/network/interfaces重启网络服务:
# /etc/init.d/networking restartSSH命令传输文件SCP
一般用scp命令传输文件。
1、从服务器上下载文件
scp username@servername:/path/filename /localhost/file
Eg:
scp root@192.168.1.3:/home/mysql.tar.gz /home/root/
2、上传本地文件到服务器
scp /path/filename username@servername:/path/filename
3、从服务器下载整个目录
scp -r username@servername:/(远程目录) /(本地目录)例如:scp -r root@192.168.0.101:/var/www/test /var/www/
4、上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录5、非默认端口传输:
‘scp -P 10022 root@192.168.1.3:/path/filename /local/path/filename’
2.5 其他命令
- 创建连接ln:
`ln -op old_path new_path`
-op: -s 为软连接
- 批量创建连接:
1.使用ln命令
<span style="font-size:18px;">ln -s /tmp/*.log /tmp/lnk/</span>
2.使用cp命令的参数-rs
<span style="font-size:18px;">cp -rs /tmp/*.log /tmp/lnk/</span>
- tar解压:
`tar zxvf file.tar.gz`
- tar压缩打包:
` tar zcvf file.tar.gz path(dir/files)`
OP:-c 建立压缩文件
\-x 解开压缩包
\-z 具有gzip属性?
\-j 同时具有bzip属性?
\-f 使用档名,后立即接档名
* zip/unzip命令
zip -r zip_file.zip FilesDir
unzip zip_file.zip
\-r 递归处理,将指定目录下所有文件和子目录一并处理
**显示消耗内存最多的10个进程**
ps aux | sort -nk +4 | tail **实时查看目录下最新改动过的文件**
watch -d -n 1 'df; ls -FlAt /path' **找出最常用的10条命令**
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head **vim 保存文件时发现需要 root 权限**
:w !sudo tee% **计时器**
time read **新建文件**
\>file.txt **快速备份文件**
cp filename{,.bak} **定时执行任务,一次性任务用 at,重复性任务用 cron \*** **echo cmd | at midnight //tomorrow, next week …** ***查看端口占用**
netstat -tulnp **快速开启一个 smtp 服务**
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 vault@coolxy.cn