linux常用命令

tech2025-04-29  20

一:目录命令: 1增加目录:mkdir [/路径/]目录名 增加多级目录:mkdir -p [/路径/]目录名 2删除目录:rmdir [/路径/]目录名 删除多级目录:rm -rf 目录名 3改变目录: 复制:cp 1文件 2文件 文件内容一起复制过去 文件2没有自动创建 cp -r 文件夹1 文件夹2 内层所有一起复制过去 文件夹2没有自动创建 mv 移动/重命名:mv 原路径 新路径 注意要在上一级操作不能在本级操作 4查看目录: 查看当前路径=查看当前所在目录:pwd 切换到路径=打开目录:cd 查看目录内容: ls横排显示 ll竖排显示 ll 文件夹:显示详细包括权限 ls.开头的一般都是看不见的隐藏的 ls-a:展示所有文件 包括隐藏文件 -A (不包括当前目录.和父目录…) ls-l:展示所有文件的详细信息包括权限 ls-R:递归查找所有子内容 子目录也列出来 二:文件命令 1创建文件 touch [/路径]文件名 vi [/路径]文件名 2删除文件 rm 文件 (询问删除) rm -rf或rm -f [/路径]文件名 (直接删除) 复制移动文件(同上): cp mv 4查看文件名字 查看有哪些文件 ls 文件:列出文件名字 三:文件内容命令 1查看文件内容 cat 文件名:列出文件内容 vi 文件:进去改内容 head [-n] 文件名 head 文件 | tail -1(有空格就算下一行) tail [-n] 文件名 2增加文件内容 3修改文件内容 4删除文件内容 dd全部删除 四: vi编辑器 vi [文件名] 进入命令模式: : 模式 1查看模式 a,A,i,I,o,O,insert进入编辑模式 :或者/ 进入末行模式 2编辑模式 esc回到查看模式 esc 或者删掉末行代码回到查看模式 2快捷键: gg首行 末行shift G n行:ngg 另一种方法shift g 最后一行 1shift g 第一行 5shift g 第五行 进入编辑模式: 在光标后插入:a 在光标前插入:i 定位到行尾:A=shift a 定位到行头插入:I=shift i 在下一行插入:o 在上一行插入:O 复制: nyy n代表复制几行 粘贴n次:np 删除/剪切:ndd 想再放在一个地方加个p 撤销上一次:u 替换:r 替换光标所在的字符 R:一直替换 替换完下一个 直到esc 3末行模式 退出::q 保存: :w 保存退出::wq或:x 退出但不保存:q! 强制:! 使用:q!强制退出 显示行号 不出现在文件里:set nu 不显示行号: :set nonu 查找字符串:向下查找:/字符串 向上查找:?字符串 n表示继续查找下一个:n 继续查找上一个: N 替换字符串:😒/要查找的字符串/替换后的字符串/g 替换当前行所有 没有g就替换第一个 /都要加 批量注释: :%s/^/#/g 批量注释取消::%s/#//g -p在根目录下弄 五:用户管理 1用户家目录:~ 创建用户:useradd 用户名 修改密码:passwd 用户名 切换用户: su 用户名 id:查看当前用户uid 和gid 删除用户:userdel 用户名 修改用户名:usermod -l[新用户名][旧用户名] 修改用户所属分组:usermod -g[新组名称][用户名] whoami;查看当前登录用户 groups 当前用户所处分组 添加分组:groupadd[组名] history 显示历史 六:权限管理 1文件夹的默认权限:drwxr-xr-x 755 读写执 2文件的默认权限:-rw-r–r-- 644左边每三个代表一组的二进制 首位标记文件类型:d代表目录 -代表文件 l代表软连接 后九位切割成三个部分 :分别代表用户自身(u),用户所在组成员(g) 和其他组的成员所具有的权限(o)(rwx:可读 可写 可执行) + - 赋权收回权限 r:read w:write x:执行 chmod -r 名字 或者 chmod 753 -r 名字 clear =ctrl +l 清屏命令 3改变文件/文件夹的归属chown(change owm 更换所有者) chown root:test test1 chown 用户名:组名 文件名 把文件的归属用户改成对应的用户名,归属组改成对应的组名 七:主机名和主机列表 默认的主机名时localhost.localhostDomain 修改主机名的两种方式: 1:hostnamectl set-hostname 新的主机名 2:vi /etc/hostname 在其中把主机名改成新主机名 这种方式需要重启才能生效 主机列表 vi/etc/hosts 在其中加上:主机ip地址 主机名 连接本机:ssh 用户名@主机名或者ip地址:连接到对应的主机 添加互信:每台机器都要对其他机器做其他动作 生成密钥 几次回车:ssh-keygen 复制到密钥校验文件:cat .ssh/id_rsa.pub > .ssh/authorized_keys 传输到需要互信的机器:ssh-copy-id -i .ssh/id_rsa.pub -p22 用户名@主机 (可以连接主机)vi /etc/hosts 进入后在下方插入ip地址 下一行主机名 两个关联的都要插入(没有这一步不能连接别人) 九、远程传输 1.远程传输文件:scp 文件路径 目标主机:/目标路径 2.远程传输文件夹:scp -r 文件路径 目标主机:/目标路径 3.利用scp远程传输文件和文件夹: (1)从服务器下载文件 ①scp username@servername:/path/filename /tmp/local_destination ②举例:scp root@cent07:/opt/jdk-8u221-linux-x64.tar.gz root@cent06:/test ③将cent07的jdk文件下载到cent06的/test文件夹内 (2)上传本地文件到服务器 ①scp /path/local_filename username@servername:/path ②举例:scp /test/HelloWorld.java root@cent07:/opt ③将cent07的Helloworld.java上传到cent07的opt目录下 (3)从服务器下载整个目录 ①scp -r username@servername:remote_dir/ /tmp/local_dir ②举例:scp -r root@cent07:/opt/jdk1.8.0_221/ /test ③将cent07的jdk文件夹下载到cent06的test目录下 (4)上传目录到服务器 ①scp -r /tmp/local_dir username@servername:remote_dir ②举例:scp -r /test/jdk1.8.0_221/ root@cent07:/opt/java ③将cent06的jdk文件夹上传到cent07的/opt/Java目录下 十、软件安装 1.解/压包 tar: (1)打包:tar -zcvf 打包后的名称 打包前的目录 (2)解包:tar -zxvf 需要解的包 [-C 想要解压到的目录] (3)压缩:gzip 文件名 文件变成:文件.gz (rm -rf .gz删掉所有gz结尾的文件) (4)解压缩包:unzip 先yum install -y unzip 2.解压 zip 3.在线安装 yum 4.包安装 rpm 5.容器安装 docker 十一、安装配置Tomcat 上传apache-tomcat-8.5.45.zip文件至/opt目录下 解压zip文件:zip一般用unzip解压 若无解压程序,先通过yum下载 yum install -y unzip 解压压缩包: unzip apache-tomcat-8.5.45.zip 修改文件夹名为tomcat8: mv apache-tomcat-8.5.45 tomcat8 为tomcat8的bin目录添加执行权限: cd tomcat8 chmod +x bin/ 启动tomcat的执行文件: ./bin/startup.sh 如果在在bin目录下执行 ./startup.sh)(前面./bin就是进入bin目录) 关闭tomcat的执行文件 ./bin/shutdown.sh 如果在在bin目录下执行 ./shutdown.sh)(前面./bin就是进入bin目录) 十二、安装配置subversion(SVN) 1.安装subversion服务器端 yum -y install subversion 2.创建SVN资源库目录 mkdir /svndata 3.生成SVN资源目录 cd svndata 创建:mkdir projects 最后 svnadmin create /svndata/projects/jdbc 4.配置SVN项目权限认证 (1) 进入SVN项目库配置文件夹 cd /svndata/projects/jdbc/conf/ 里面有三个内容都需要修改 (2) 配置SVN读写权限,修改 authz信息:vi authz 在[group]后添加: [/] root=rw (3) 为用户设置初始密码:vi passwd 在最后一行添加: root=1 备注:此处为 用户名 = 密码 (4) 修改svnserve文件的选项:vi svnserve.conf 1.在 # anon-access = read # auth-access = write 后添加: anon-access=none auth-access=write 2.在 # password-db = passwd 后添加: password-db=passwd 3.在 # authz-db = authz 后添加: authz-db=authz 启动SVN:svnserve -d -r /svndata 开启SVN默认端口3690 十一:搜索查看grep 常与管道符 | 一起使用

软件安装的三种方式: a:在线安装:又分为yum安装和容器docker安装(docker安装先下载docker yum install ) b:压缩包安装:tar.gz格式: tar -zxvf 压缩包 -C 指定路径 zip格式:unzip 压缩包名 c:rpm包安装: rpm -ivh rpm文件 进程管理的指令: 查看进程:ps 1.查看所有进程:ps -ef或者ps -aux 2.查看某个应用的进程:ps -ef | grep 应用名 3.杀进程:kill 进程 pid,如需强制杀:kill [-9] pid 如何安装和使用tomcat 1上传压缩包 2使用unzip命令解压 3增加tomcat根目录下的bin目录下所有文件的执行权限 如何发布web项目到服务器上 4将javaweb 项目到处war包 上传 配置 启动tomcat 浏览器访问主页 包分为胖瘦 胖就是带依赖包的war包瘦就是没带依赖包的war包

打印变量的值:echo $PATH 当前目录的全路径名称:echo PWD 声明变量:export a=1 echo $a 相当于打印a (理解echo $=sout) 打印环境变量:printenv more:entry显示下一行 空格显示下一页 退出: q 一个字母 more -n 文件 :一次显示n行 less:more一次全部加载完那文件只是一部分一部分显示 less查看多少加载多少 less T…txt -b 10 缓冲10行 wc -w 文件:统计单词个数 行里面有空格就算一个单词 wc -l 文件:统计行数 wc -L 文件:计算最长行的长度 配合管道符的使用:左边输出是右边输入 十一:搜索查看grep 常与管道符 | 一起使用 ./ : 当前目录下 rpm -qa :查询已安装的文件 rpm -qa | grep mysql 查mysql查不出来 rpm -qa | grep -i mysql 忽略大小写 rpm -qa | grep -iw mysql 忽略大小写 而且只匹配mysql整个单词 file 文件/目录 which java 查看java在那 which+命令 不是文件夹 软链接相当于快捷方式 硬链接相当于副本 find / -name ‘mou’ 按名字查找 date 直接date就是当前时间 date +%Y-%m-%d 2020-08-27 date +%Y-%M-%D 2020-34-08/27/20 cut命令提取字段 cut -d ’ ’ -f2,3,6 以空格分隔 配合管道符先查找再安切割 whereis java查java在哪 look hello test/java/javaEE :找出hello开头的 要在相应的test存在的opt目录下使用look ll:列出来详细结果 时间 是否可读 ls:只列出文件名或者目录名 快捷键tab 当只有一个时 ifconfig 查看IP主机地址 hostname 显示主机名字 vi /etc/hostname 查和修改看主机名 hostnamectl -h 查看命令 gzip testhou.tar 压缩这个准备传给别人 重开一个窗口时注意是不是一个 然后浏览器输入192.168.5.35:8080 能出来界面 注意:是英文的 vi是进文件修改 cat查看文件

十四:linux shell编程: shell Script 脚本 1 每一个shell要有头的定义,正常时: #!/bin/bash 2 打印: echo “ 打印的内容 ”或者echo ‘ ’ 可以先export定义一个变量打印变量 3 定义好的脚本需要加上执行权限: chmod +x 脚本路径 4 三种调用方式: 路径调用:如果在当前目录,则使用: ./test.sh ./后面没有空格 绝对路径也行 普通脚本执行: sh 脚本路径 指定b shell 执行: /bin/bash 脚本路径 (bin可以省略 因为正好在bin目录下) 变量名和等号直接不能有空格!!!与其他编程语言不一样 5 执行变量的运算:b=expr ${a} + 1 这里必须要空格 符号为{}只有一个字母时可以省略 需要输出关键字时:需要用\转译 e=$(($a+$b)) f=$[$a*$b] 可以理解为(())=[] arr=(1 2 3 4 10) echo${arr[0]} ./array.sh 打印所有元素 6 变量的定义: 直接赋值法:a=1 b="abc" arr=(1 2 3 4 ) 引用赋值法: b=$a c=${b} 引用命令执行结果的赋值:a=ls-l7 执行变量运算的方式: b=expr a + 1 ‘ b = {a} + 1 ` b= a+1b=(( a + 1 ) ) b = a + 1)) b= a+1))b=[KaTeX parse error: Expected 'EOF', got '&' at position 293: …语句可省略成:[[条件语句]]&̲&结果语句 11 在单引号中不…{a}引用变量,而双引号中可以

20200829: 建文件时也建文件夹: 十五hell脚本自定义函数: 1: [function] 函数名(){函数体;} 可以有return语句,但只能return值类型 字符串不行 没有小数的概念awk定义 2:参数的传递:函数内部的参数列表只取决于调用函数时的参数列表,与脚本的参数无直接影响 linux菜鸟教程对照学习 for ((i=0;i<=j;i++))和 for i seq 1 5两种写法 截取字符串:echo ${var#*某} var是变量名 舍弃某左边的字符串 包括某 while 要加: if [ 小于用lt不能用< ]

最新回复(0)