在线软件包下载:
https://debian.pkgs.org
http://rpm.pbone.net/
学习网址:
https://c.biancheng.net/shell/program/
https://www.runoob.com/linux/linux-command-manual.html
===========shell 脚本调试===========
bash 打印调试信息
bash -x install.sh
21:00 2020/12/26
1.重复执行上一次命令
>!!
2.linux系统没有回收站:文件删除要小心
3.文件夹操作:
创建文件夹:
>mkdir test
显示文件夹目录结构:
tree //默认显示所有目录结构
tree -L 2 //显示2层目录结构
删除文件夹:
>rmdir test //删除空文件夹
>rm -rf test // 删除包含内容的文件夹
>rm -rf * // 删除目录下所有文件
>rm -rf /home/abc/boke112/2019bkml
>rm -rf !(80* | adc) # 删除除某个或某些文件外其他文件
复制文件夹:
cp -r folder1 foder2
移动文件夹:
mv /home/packageA /home/packageB/
修改目录操作人权限
# 将目录/opt 及其下面的所有文件、子目录的文件主改成 liuhai
chown -R liuhai:liuhai /opt
#给目录opt设置权限
chmod 760 /opt
登录远程电脑拷贝文件夹
ssh rocky@192.168.10.48
scp -r /home/space/music 192.168.10.48:/etc/others/ //将本地music目录复制到远程others目录下, xshell拷贝时music后不添加/目录符号
scp 192.168.10.48:/etc/yun.repos.d/* ./ //远程文件拷贝到当前目录
ssh免密码登录配置方法 fox机器
495 ssh-keygen -t rsa
497 ssh-copy-id fox@127.0.0.1 # 127.0.0.1 fox电脑IP地址
498 ssh fox@127.0.0.1
yao@yao-PC:~$ cat ~/.ssh/id_rsa.pub | ssh -p 22 fox@127.0.0.1 'cat >> ~/.ssh/authorized_keys' # '' 单引号
4.===============文件操作=================
创建文件:
>touch abc.txt
>vim abc.txt
>cat >abc.txt <<EOF // 在终端界面录入文件内容,输入EOF退出文件编辑
touch a{1..5} #批量创建文件:
dd 命令写指定大小文件----创建一个2GB的大文件。
dd if=/dev/zero of=bigfile bs=1000M count=2
dd if=/dev/zero of=bigfile bs=1G count=5
删除文件
>rm -f /home/abc/boke112/2019bkml/abc.conf // 删除指定路径下文件
>rm -v !("filename1"|"filename2") // 删除除了 filename1 和 filename2 之外的所有文件
查看文件:
cat abc.txt
cat -n abc.txt //显示文件行号
du -sh /etc/sysconfig // 查看文件大小
du -h --max-depth=0 * // 查看当前路径下各个目录和子文件大小
du -sh ./* #查看当前路径下文件夹和文件大小
less -m -N /root/install.log //其中-m显示百分比,-N显示行号,G转到最后一行,g可跳转到第一行
复制文件:
cp file1.txt file2.txt
复制所有文件到指定目录:
cp * /home/xguest/test/
cp -r /home/packageA/* /home/cp/packageB/
或
cp -r /home/packageA/. /home/cp/packageB/
移动文件:
mv /home/packageA/* /home/packageB/ //移动所有文件到目标文件夹
mv file1 file2
删除目录下所有内容;
rm -rf /home/packageA/*
rm file //删除文件
搜索文件:
find /etc/ -name "*.list"
whereis profile
which du
locate profile
只显示文件夹 ls -l | grep ^d
只显示文件 ls -l | grep ^-
1、只显示文件名: ls -l | grep ^[^d] | awk '{print $9}'
2、只显示文件夹名: ls -l |grep ^d | awk '{print $9}'
或者是 ls -d */
查看目录下文件数量 ll | grep "^-" | wc -l
查看目录下文件夹数量: ll | grep "^d" | wc -l
登录远程电脑拷贝文件
ssh nfs@192.168.10.48
scp local_file 192.168.10.48:/etc/ //将本地文件拷贝到远程服务器目录
scp 192.168.10.48:/etc/yun.repos.d/* ./ //远程文件拷贝到当前目录
scp nfs1@192.168.5.105:/home/nfs1/文档2.doc ./文档3.doc
创建文件链接:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 //ln -s 源文件 创建目标文件
5.vi
vi +12 filename :打开文件,并将光标置于12行首
6.压缩命令:
压缩:tar -jcvf filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtvf filename.tar.bz2
解压:tar -jxvf filename.tar.bz2 -C 欲解压缩的目录
tar -vcf filename.tar deskup
tar -vxf filename.tar -C deskup1
tar -vczf filename.tar.gz deskup
tar -vxzf filename.tar.gz -C deskup2
zip -r -q -o deskup.zip /home/ios/桌面
file deskup.zip
unzip -q deskup.zip
unzip LinxTA-1.0.zip -d /opt/ //解压到指定目录
7.系统命令:
查询CPU信息:cat /proc/cpuinfo | grep "model name" | uniq
内存查询: free -h
查看进程信息: ps -ef
修改主机名:hostnamectl set-hostname --static ubuntu16
杀死指定用户所有进程:
#kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程
#kill -u hnlinux //方法二
sudo kill -9 18842
查看系统所有用户: cut -d: -f1 /etc/passwd
查看系统所有组: cut -d: -f1 /etc/group
查询操作系统版本: head -n 1 /etc/issue
查询系统内核版本: cat /proc/version
查询系统版本: ls /etc/*release
查看系统版本: cat /etc/os-release // 系统版本centos 7
lsb_release -a // 系统版本centos
uname -a // 内核版本
cat /proc/version // 内核版本
查询系统开机时间: who -b
显示当前登录用户:whoami
关机:poweroff shutdown -h now // shutdown -h 0
重启: shutdown -r now // shutdown -r 0
8.文件下载安装命令:
wget | apt-get:
1)下载当前目录下所有文件
wget http://mirrors.ustc.edu.cn/ubuntu/pool/main/g/gcc-4.4/ -r -np -nd -e robots=off
下载某一类型文件
wget http://mirrors.ustc.edu.cn/ubuntu/pool/main/g/gcc-4.4/ -r -np -nd -A .deb -e robots=off
2)断点续传
wget --continue https://example.com/linux-distro.iso #wget 断点续传
其中:
-r:层叠递归处理
-np:不向上(url路径)递归
-nd:不创建和web网站相同(url路径)的目录结构
-A type:文件类型
-e robots=off:不考虑 robots.txt 的权限
apt-cache search ftp
apt remove xxx.deb
yum:
yum install pam-devel
yum remove pam-devel
yum search pam-devel // 在yum源搜索可用的安装包
设置yum安装包缓存设置:
vim /etc/yum.conf
# cachedir 为安装包缓存的路径
# keepcache 表示是否进行缓存: 1 是, 0 否
[main]
cachedir=/var/cache/yum/$basearch/$releasever # 可自行修改
keepcache=1
- 缓存的rpm包一般在:
update/packages
或者base/packages
下
只下载安装包:
sudo apt-get download sane // 下载软件
yum download pam-devel
更换yum 源:
下载163yum源:菜鸟教程
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum clean all
yum makecache
更换apt-get 源:
备份/etc/apt/sources.list 并修改/etc/apt/sources.list 源配置文件
sudo apt-get update // 更新的软件包列表信息
//下载软件离线安装包及依赖包:
yum install --downloadonly --downloaddir=/tmp nginx
sudo apt-get download `apt-cache depends model-builder | grep "依赖" | cut -d: -f2 |tr -d "<>"`
9.rpm | dpkg 软件安装
dpkg -S mkfs.ntfs // 查找文件来自哪个安装包
rpm -qf `which mkfs.xfs` // 查询文件来自哪个安装包
rpm -aq | grep font | sort // 查询软件包排序
rpm -hvi xxx.rpm //安装软件
rpm -qa //查询安装的所有rpm软件包
rpm -e //卸载rpm软件包
rpm -ql 包名 //查询rpm包安装位置
#rpm -e [package name] -nodeps //忽略依赖关系直接卸载
// deb 包安装
dpkg -i abcd.deb // 安装软件
dpkg -r abcd.deb // 卸载软件
//deb 安装包查询
dpkg -l | grep xia
dpkg -S /usr/share/perl/5.24.1/utf8.pm // 查找文件来自哪个安装软件
dpkg -L vim // 查找安装包位置
查询安装包信息:
apt-cache show ssh
dpkg-query -s ssh
dpkg -s ssh
apt show ssh
查询文件来自那个安装包:
dpkg-query -S /usr/bin/ssh
10.进程
查询进程:
ps -ef | grep Web* //查询Web*的进程
后台运行进程:
./test.sh &
nohub ./test.sh &
11.磁盘
查看磁盘空间:
df -h
查看目录大小
du -h
du -sh ./soft
du -h --max-depth=1 //查看当前目录下各个文件夹大小
du -sh ./* #查看当前路径下文件夹和文件大小
查看磁盘块设备空间大小
12.容器:docker
Docker是一个虚拟环境容器
13.日常命令记录:
sudo sh -c "cat /dev/null > /var/log/dpkg.log" //让整个命令都具有 root 的权限执行
rocky@linx:/mnt/sdb1/qcow2/temp$ watch -n 2 ls -l
rocky@linx:/mnt/sdb1/qcow2/temp$ timeout 20 watch -n 2 ls -l
14.rpm打包过程
fpm工具打包:http://www.ttlsa.com/linux/how-to-use-fpm-rpm/
安装fpm工具:
yum -y install ruby rubygems ruby-devel
gem install fpm
打包目录1:
fpm -s dir -t rpm -n helloworld -v 1.0.1 -C /root/ylx/fpm/
rpm -qpl hellowrld-1.0.1.x86_64.rpm //查询安装包
安装:
rpm -ivh helloworld-1.0.1.x86_64.rpm
打包方式2:指定安装路径
fpm -s dir -t rpm -n helloworld -v 1.1.0 --prefix=/opt ./hello.o // 指定安装路径/opt
rpm -ivh helloworld-1.1.0.x86_64.rpm --force //强制安装
安装包查询:
rpm -qpi ./helloworld-1.1.0.x86_64.rpm // 查询安装包内容信息
rpm -qa | grep helloworld // 查询安装包全称
rpm -ql helloworld-1.1.0.x86_64.rpm // 查询安装软件位置
15.查看系统进程和服务状态
查看服务状态:
systemctl start elasticsearch.service
systemctl stop elasticsearch.service
systemctl restart elasticsearch.service
16.用户、组命令:
echo $PATH
- 增加用户:useradd -m username
- 为用户增加密码:passwd username
- 新建工作组:groupadd groupname
- 将用户添加进工作组:usermod -aG groupname username
- 删除用户:userdel -r username
17.python下载pypi安装包
pip3 download tensorflow==1.12.0
pip download tensorflow==1.12.0
python打包命令:
pip3 wheel -w, -wheel-dir ./termcolor-1.1.0
离线whl包安装,进入安装包所在目录
pip3 install tensorflow.whl
18.修改系统环境变量:
gedit /etc/profile
最后行添加语句:
export PATH=$PATH:/usr/local/MATLAB/bin
在/etc/profile文件的末尾,加上:
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
在命令行:source /etc/profile
19.bc计算器基本用法
linx:~# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
6+12
18
16*6
96
64/4
16
scale=3
3.25*4.56
14.820
quit
20.mysql | MariaDB 数据库操作
1.修改默认用户密码:
mysqladmin -u root password '123456'
mysqladmin -u root -p '123456' password 'new123456'
2.登陆mysql:
mysql -u root -p
21.linux安装虚拟系统后压缩 qcow2系统文件
qemu-img convert -c -O qcow2 /var/lib/libvirt/images/centos8.0.qcow2 centos8.0.qcow2_bak
22.通过window命令行窗口拷贝LInux文件
方法1:
C:\Windows\system32>sftp -oPort=22 root@192.168.1.110
sftp> get /var/lib/libvirt/images/centos8.0.qcow2_bak G:\
方法2:
scp -r /home/space/music 192.168.10.48:/etc/others/
23.windows将FAT32U盘转化位NTFS格式用来拷贝4G大文件
在cmd命令行窗口输入:CONVERT H: /FS:NTFS //H: 为U盘路径
24.网络相关:
查询本机网桥名称: ifconfig | grep qbr
查询本地网络端口占用: netstat -lnptu | grep 6379
扫描主机端口号:nmap -p 1-65535 172.18.0.252
查询服务器多网口网线连接情况:
link ok ---- 表示物理网线联通
no link ---- 表示网口没有物理网线连接
root@NodeA:~# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok
eth1: negotiated 1000baseT-FD flow-control, link ok
eth2: no link
eth3: no link
root@NodeA:~#
25.监视文件日志:新增日志会实时刷新显示
tail -f /var/log/nova/nova-compute.log
>/root/.ssh/know_hosts //清除本地ssh连接数据
查询审计日志:
tail -f /var/log/audit/audit.log
26.linux制作U盘启动盘
145 df -h
146 fdisk -l
147 mkfs.ext3 /dev/sdc
148 sync
149 dd if=linx-6.0.60.4-SFA_TS-1.0.7.20191209-amd64-DVD.iso of=/dev/sdc
148 sync
27.服务器硬件信息查询:
查询cpu
Linx:~# lscpu
Linx:~# dmidecode -t processor
查询内存
dmidecode -t 17
dmidecode -t 17 | grep Size | grep MB
查询pci[root@localhost ~]# lspci -vvnnk | grep -i vga
[root@localhost ~]# lspci -vvnnks 03:00.0
查询硬盘[root@localhost ~]# smartctl --all /dev/sda
查询biosdmidecode -t bios
查询驱动lshw -c network
lshw -c display
lspci -vvnnks 03:00.0
硬件设备号查询网址
http://pci-ids.ucw.cz/
https://devicehunt.com/