73 条日常 shell 命令汇总

合集下载

常用shell命令

常用shell命令

常用shell命令Shell是一种命令行解释器,用于管理和操作操作系统。

在Linux和Unix系统中,通过Shell命令行执行的命令都会由Shell解释执行。

在本文中,我们将介绍一些常用的Shell命令,并且重点就常用的Shell命令进行详细的讲解,希望能对你在工作中有所帮助。

一、常用的Shell命令1. cd (change directory):切换目录2. pwd (print working directory):显示当前目录3. ls (list):列出当前目录下的所有文件4. cp (copy):复制文件或者目录5. rm (remove):删除文件或者目录6. mv (move):移动文件或者目录7. mkdir (make directory):新建目录8. rmdir (remove directory):删除目录9. echo:打印文本10. cat (concatenate):读取文件内容并输出11. less:简单的文本浏览器12. man (manual):查看命令的说明文档13. touch:用于创建空白文件或更新文件的修改时间14. grep:用于搜索一个文本文件15. sed:用于文本编辑,常常与管道连用16. awk:用于文本处理,常常配合管道使用17. chmod (change mode):修改文件或目录的权限18. chown (change owner):修改文件或目录的拥有者19. ps:查看系统中正在运行的进程20. top:查看系统中正在运行的进程和系统资源使用情况二、常用的Shell命令详细讲解1. cdcd命令用于切换工作目录,其简单的语法如下:cd [目录名称]其中,目录名称可以指定为绝对路径或相对路径,如果省略目录名称,则表示切换到当前用户的主目录。

举一个例子:假设当前目录为/home/user1,执行cd /home/test,则将当前目录切换到/home/test目录下。

shell脚本常用命令

shell脚本常用命令

shell脚本常⽤命令shell基本命令1.#!/bin/sh是指此脚本使⽤/bin/sh来解释执⾏。

解释:#! 是⼀个约定的标记,它告诉系统这个脚本需要什么解释器来执⾏,即使⽤哪⼀种 Shell。

2.echo 命令⽤于向窗⼝输出⽂本。

举例:echo "Hello World !"3.your_name="qinjx"赋值变量echo ${your_name}打印变量;使⽤变量的时候加括号和美元符4.chmod +x ./test.sh #使脚本具有执⾏权限./test.sh #执⾏脚本chmod 777 /tmp -R 意思是把tmp⽂件夹及其⼦bai⽂件夹的权限全部修改为777解释语句⼀:ping -c 5 > /dev/null 2>&11. ping -c 5 -c<完成次数>:设置完成要求回应的次数;2. >/dev/null这条命令的作⽤是将标准输出1重定向到/dev/null中。

/dev/null代表linux的空设备⽂件,所有往这个⽂件⾥⾯写⼊的内容都会丢失,俗称“⿊洞”。

那么执⾏了>/dev/null之后,标准输出就会不再存在,没有任何地⽅能够找到输出的内容。

3. 2>&1这条命令⽤到了重定向绑定,采⽤&可以将两个输出绑定在⼀起。

这条命令的作⽤是错误输出将和标准输出同⽤⼀个⽂件描述符,说⼈话就是错误输出将会和标准输出输出到同⼀个地⽅。

linux在执⾏shell命令之前,就会确定好所有的输⼊输出位置,并且从左到右依次执⾏重定向的命令,所以>/dev/null 2>&1的作⽤就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重⽤了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。

执⾏了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到⽂件中。

常用shell脚本指令

常用shell脚本指令

常用shell脚本命令1、显示包含文字aaa的下一行的内容:sed -n '/aaa/{n;p;}' filename2、删除当前行与下一行的内容:sed -i '/aaa/{N;d;}' filename3、删除当前行与下两行的内容:sed -i '/aaa/{N;N;d;}' filename依次类推,删除三行,则为{N;N;N;d;},分析知:N为next4、得出以空格为分割的字符串中单词的个数,即统计个数:awk ' { print NF } '如显示字符串VALUE中的单词个数,其中VALUE为:aaa bbb ccc ddd ee f则执行 echo $VALUE | awk ' { print NF } ' 后的结果为65、在linux中建立一个文件与另一文件的链接,即符号链接ln -s /var/named/chroot/etc/named.conf named.conf这要就建立了当前目录的文件named.conf对/var/named/chroot/etc/named.conf 的符号链接。

即操作named.conf就意味着操作实际文件/var/named/chroot/etc/named.conf ,这时用ll命令查看的结果如:lrwxrwxrwx 1 root root 32 Mar 22 12:29 named.conf ->/var/named/chroot/etc/named.conf注意:当用sed来通过named.conf来删除一部分信息时,会将符号链接的关系丢掉,即会将named.conf变成一个实际文件。

所以需对实际文件进行删除操作。

6、显示指定字符范围内的内容:如:显示文件test.txt中字符#test begin与#test end之间所有的字符sed -n "/#test begin/,/#test end/p" test.txt或 awk "/#test begin/,/#test end/" test.txt在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则.1. 单引号和双引号的区别单引号与双引号的最大不同在于双引号仍然可以引用变量的内容,但单引号内仅是普通字符,不会作变量的引用,直接输出字符窜。

shell编程基础命令

shell编程基础命令

shell编程基础命令Shell编程是一种在命令行环境下进行脚本编写的技术。

它具有很多基础命令,这些命令可以帮助我们完成各种常用的操作。

本文将介绍一些常用的Shell编程基础命令,并给出它们的使用示例。

一、echo命令echo命令用于在屏幕上打印输出。

它的基本语法为:echo [字符串]示例:echo "Hello, World!"二、cd命令cd命令用于切换当前工作目录。

它的基本语法为:cd [目录路径]示例:cd /home/user三、ls命令ls命令用于列出当前目录下的文件和子目录。

它的基本语法为:ls [选项] [目录路径]示例:ls -l /home/user四、pwd命令pwd命令用于显示当前工作目录的路径。

它的基本语法为:pwd示例:pwd五、mkdir命令mkdir命令用于创建新的目录。

它的基本语法为:mkdir [选项] 目录名示例:mkdir mydir六、rm命令rm命令用于删除文件或目录。

它的基本语法为:rm [选项] 文件或目录名示例:rm myfile.txt七、cp命令cp命令用于复制文件或目录。

它的基本语法为:cp [选项] 源文件或目录目标文件或目录示例:cp myfile.txt mydir/八、mv命令mv命令用于移动文件或重命名文件。

它的基本语法为:mv [选项] 源文件或目录目标文件或目录示例:mv myfile.txt mydir/九、cat命令cat命令用于查看文件的内容。

它的基本语法为:cat 文件名示例:cat myfile.txt十、grep命令grep命令用于在文件中搜索指定的字符串。

它的基本语法为:grep [选项] 字符串文件名示例:grep "hello" myfile.txt十一、wc命令wc命令用于统计文件中的行数、字数和字节数。

它的基本语法为:wc [选项] 文件名示例:wc myfile.txt十二、chmod命令chmod命令用于修改文件或目录的权限。

LinuxShell常见命令总结大全

LinuxShell常见命令总结大全

LinuxShell常见命令总结大全好程序员云计算培训分享Linux Shell常见命令总结大全,Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程。

(1) 我们正常需要的操作是$ps |grep xxx$kill -9 xx(2) kill命令是常用的,但是用killall命令会更快$killall -9 xxx(3) 令我困扰的是我用的那个没有killall然后我做了下面的操作$adb shell ps |grep speech |awk '{print $2}' > 1.txt$cat 1.txt |xargs -n1 adb shell kill -9我用这个的原因是用一条指令重定向总是各种问题,正常情况下用这条就可以了$adb shell ps |grep speech |awk '{print $2}'|xargs -n1 kill -91. 关机/重启关机(必须用root用户)shutdown -h now ## 立刻关机shutdown -h +10 ## 10分钟以后关机shutdown -h 12:00:00 ##12点整的时候关机halt # 等于立刻关机重启shutdown -r now2. echoroot@ubuntu:~# a="hello,world"root@ubuntu:~# echo aaroot@ubuntu:~# echo &a[1] 3091a: command not found[1]+ Done echoroot@ubuntu:~# echo $ahello,worldroot@ubuntu:~#3. vim文本编辑器最基本用法vi somefile.41 首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容2 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容3 编辑完成之后,按Esc键退出编辑模式,回到一般模式;4 再按:,进入“底行命令模式”,输入wq命令,回车即可常用快捷键一些有用的快捷键(在一般模式下使用):a 在光标后一位开始插入A 在该行的最后插入I 在该行的最前面插入gg 直接跳到文件的首行G 直接跳到文件的末行dd 删除一行3dd 删除3行yy 复制一行3yy 复制3行p 粘贴u undov 进入字符选择模式,选择完成后,按y复制,按p粘贴ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴查找并替换1 显示行号:set nu2 隐藏行号:set nonu3 查找关键字:/you ## 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)4 替换操作:s/sad/bbb 查找光标所在行的第一个sad,替换为bbb:%s/sad/bbb 查找文件中所有sad,替换为bbb4. 拷贝/删除/移动/更换文件名字cp somefile.1 /home/hadoop/rm /home/hadoop/somefile.1rm -f /home/hadoop/somefile.1mv /home/hadoop/somefile.1 ../mv a.txt b.txt //把a.txt更名为b.txt5. 打包压缩1、gzip压缩gzip a.txt2、解压gunzip a.txt.gzgzip -d a.txt.gz3、bzip2压缩bzip2 a4、解压bunzip2 a.bz2bzip2 -d a.bz25、打包:将指定文件或文件夹tar -cvf bak.tar ./aaa将/etc/password追加文件到bak.tar中tar -rvf bak.tar /etc/password6、解压tar -xvf bak.tar7、打包并压缩tar -zcvf a.tar.gz aaa/8、解包并解压缩(重要的事情说三遍) tar -zxvf a.tar.gz解压到/usr/下tar -zxvf a.tar.gz -C /usr9、查看压缩包内容tar -ztvf a.tar.gzzip/unzip10、打包并压缩成bz2tar -jcvf a.tar.bz211、解压bz2tar -jxvf a.tar.bz26. 常用查找命令的使用1、查找可执行的命令所在的路径:which ls2、查找可执行的命令和帮助的位置:whereis ls3、从某个文件夹开始查找文件find / -name "hadooop*"find / -name "hadooop*" -ls4、查找并删除find / -name "hadooop*" -ok rm {} \; find / -name "hadooop*" -exec rm {} \;5、查找用户为hadoop的文件find /usr -user hadoop -ls6、查找用户为hadoop的文件夹find /home -user hadoop -type d -ls7、查找权限为777的文件find / -perm -777 -type d -ls8、在指定目录不分大小写查找某个文件find ./sound/ -iname ft56Q.c9、显示命令历史history7. grep命令最常用的-全字匹配grep -wrn weiqifa ./sound/查找某个字符串但是不在指定文件夹查找grep -E "http" ./ -R --exclude-dir=./sound/grep -E "http" . -R --exclude-dir={.git,res,bin}排除扩展名为 java 和 js 的文件grep -E "http" . -R --exclude=*.{java,js}1 基本使用查询包含hadoop的行grep hadoop /etc/passwordgrep aaa ./*.txt2 cut截取以:分割保留第七段root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# grep dsl /etc/passwd | cut -d: -f7/bin/bashroot@ubuntu:~/kernel_rk3399_yan4_dev/kernel# grep dsl /etc/passwddsl:x:1000:1000:dsl,,,:/home/dsl:/bin/bashroot@ubuntu:~/kernel_rk3399_yan4_dev/kernel#3 查询不包含hadoop的行grep -v hadoop /etc/passwd4 正则表达包含hadoopgrep 'hadoop' /etc/passwd5 正则表达(点代表任意一个字符)grep 'h.*p' /etc/passwd6 正则表达以hadoop开头grep '^hadoop' /etc/passwd7 正则表达以hadoop结尾grep 'hadoop$' /etc/passwd规则:. : 任意一个字符a* : 任意多个a(零个或多个a)a? : 零个或一个aa+ : 一个或多个a.* : 任意多个任意字符\. : 转义.o\{2\} : o重复两次查找不是以#开头的行grep -v '^#' a.txt | grep -v '^$'以h或r开头的grep '^[hr]' /etc/passwd不是以h和r开头的grep '^[^hr]' /etc/passwd不是以h到r开头的grep '^[^h-r]' /etc/passwd8. linux文件权限的描述格式解读drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)d:标识节点类型(d:文件夹 -:文件 l:链接)r:可读 w:可写 x:可执行第一组rwx: ## 表示这个文件的拥有者对它的权限:可读可写可执行第二组r-x: ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行第三组r-x: ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行9. 修改文件权限chmod g-rw haha.dat ## 表示将haha.dat对所属组的rw 权限取消chmod o-rw haha.dat ## 表示将haha.dat对其他人的rw 权限取消chmod u+x haha.dat ## 表示将haha.dat对所属用户的权限增加xchmod a-x haha.dat ## 表示将haha.dat对所用户取消x权限也可以用数字的方式来修改权限chmod 664 haha.dat就会修改成 rw-rw-r--如果要将一个文件夹的所有内容权限统一修改,则可以-R参数chmod -R 770 aaa/10. 修改文件所有权<只有root权限能执行>chown angela aaa ## 改变所属用户chown :angela aaa ## 改变所属组chown angela:angela aaa/ ## 同时修改所属用户和所属组11. 统计文件或文件夹的大小root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# du -sh sound/33M sound/root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#df -h 查看磁盘的空间root@ubuntu:~/kernel_rk3399_yan4_dev/kernel# df -h Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /devtmpfs 394M 6.4M 388M 2% /run/dev/sda1 294G 93G 186G 34% /tmpfs 2.0G 204K 2.0G 1% /dev/shmtmpfs 5.0M 4.0K 5.0M 1% /run/locktmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs 394M 80K 394M 1% /run/user/1000 root@ubuntu:~/kernel_rk3399_yan4_dev/kernel#。

Linuxshell常用命令

Linuxshell常用命令

Linuxshell常用命令Linux shell常用命令汇总对于经常使用linux系统的博主来说,基本常用的shell命令是少不了的,下面yjbys为大家总结了Linux shell的常用命令,希望对大家有所帮助!1.检查远程端口是否对bash开放:echo >/dev/tcp/8.8.8.8/53 && echo "open"2.让进程转入后台:Ctrl + z3、将进程转到前台:fg4.产生随机的十六进制数,其中n是字符数:openssl rand -hex n5.在当前shell里执行一个文件里的命令:source /home/user/6.截取前5个字符:${variable:0:5}7.SSH debug 模式:ssh -vvv user@ip_address8.SSH with pem key:ssh user@ip_address -i key.pem9.用wget抓取完整的网站目录结构,存放到本地目录中:wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs10.一次创建多个目录:mkdir -p /home/user/{test,test1,test2}11.列出包括子进程的进程树:ps axwef12.创建 war 文件:jar -cvf name.war file13.测试硬盘写入速度:dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img14.测试硬盘读取速度:hdparm -Tt /dev/sda15.获取文本的md5 hash:echo -n "text" | md5sum16.检查xml格式:xmllint --noout file.xml17.将tar.gz提取到新目录里:tar zxvf package.tar.gz -C new_dir18.使用curl获取HTTP头信息:curl -I 19.修改文件或目录的时间戳(YYMMDDhhmm):touch -t 0712250000 file20.用wget命令执行ftp下载:wget -m ftp://username:password@hostname21.生成随机密码(例子里是16个字符长):LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;22.快速备份一个文件:cp some_file_name{,.bkp}23.访问Windows共享目录:smbclient -U "DOMAIN\user" ///share/test/dir24.执行历史记录里的命令(这里是第100行):!10025.解压:unzip package_name.zip -d dir_name26.输入多行文字(CTRL + d 退出):cat > test.txt27.创建空文件或清空一个现有文件:\> test.txt28.与Ubuntu NTP server同步时间:ntpdate 29.用netstat显示所有tcp4监听端口:netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'30.qcow2镜像文件转换:qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw31.重复运行文件,显示其输出(缺省是2秒一次):watch ps -ef32.所有用户列表:getent passwd33.Mount root in read/write mode:mount -o remount,rw /34.挂载一个目录(这是不能使用链接的情况):mount --bind /source /destination35.动态更新DNS server:nsupdate < <eof< p=""> </eof<>update add $HOST 86400 A $IPsendEOF36.递归grep所有目录:grep -r "some_text" /path/to/dir37.列出前10个最大的`文件:lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail39.打开Vim并跳到文件末:vim + some_file_name40.Git 克隆指定分支(master):**********************:name/app.git-bmaster41.Git 切换到其它分支(develop):git checkout develop42.Git 删除分支(myfeature):git branch -d myfeature43.Git 删除远程分支git push origin :branchName44.Git 将新分支推送到远程服务器:git push -u origin mynewfeature45.打印历史记录中最后一次cat命令:!cat:p46.运行历史记录里最后一次cat命令:!cat47.找出/home/user下所有空子目录:echo >/dev/tcp/8.8.8.8/53 && echo "open"1.检查远程端口是否对bash开放:find /home/user -maxdepth 1 -type d -empty48.获取test.txt文件中第50-60行内容:< test.txt sed -n '50,60p'49.运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):sudo !!50.创建临时RAM文件系统– ramdisk (先创建/tmpram目录):mount -t tmpfs tmpfs /tmpram -o size=512m51.Grep whole words:grep -w "name" test.txt52.在需要提升权限的情况下往一个文件里追加文本:echo "some text" | sudo tee -a /path/file53.列出所有kill signal参数:kill -l54.在bash历史记录里禁止记录最后一次会话:kill -9 $$55.扫描网络寻找开放的端口:nmap -p 8081 172.20.0.0/1656.设置git email:gitconfig--globaluser.email"**************"57.To sync with master if you have unpublished commits:git pull --rebase origin master58.将所有文件名中含有”txt”的文件移入/home/user目录:find -iname "*txt*" -exec mv -v {} /home/user \;59.将文件按行并列显示:paste test.txt test1.txt60.shell里的进度条:pv data.log61.使用netcat将数据发送到Graphite server:echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 300062.将tabs转换成空格:expand test.txt > test1.txt63.Skip bash history:< space >cmd64.去之前的工作目录:cd -65.拆分大体积的tar.gz文件(每个100MB),然后合并回去:split –b 100m /path/to/large/archive /path/to/output/files cat files* > archive66.使用curl获取HTTP status code:curl -sL -w "%{http_code}\\n" -o /dev/null 67.设置root密码,强化MySQL安全安装:/usr/bin/mysql_secure_installation68.当Ctrl + c不好使时:Ctrl + \69.获取文件owner:stat -c %U file.txt70.block设备列表:lsblk -f71.找出文件名结尾有空格的文件:find . -type f -exec egrep -l " +$" {} \;72.找出文件名有tab缩进符的文件find . -type f -exec egrep -l $'\t' {} \;73.用”=”打印出横线:全选复制放进笔记printf '%100s\n' | tr ' ' =【Linux shell常用命令汇总】。

shell基本命令的使用

shell基本命令的使用

shell基本命令的使用Shell是一种命令语言,可以用于控制和管理操作系统上的各种操作和任务。

在Shell中,有许多基本的命令,这些命令能够帮助用户进行文件操作、进程管理、软件安装等各种任务。

下面是一些常见的Shell 基本命令及其使用方法:一、文件操作1. ls命令:用于列出当前目录下的文件和子目录。

使用方法:ls [-a] [-l] [文件名]参数说明:-a 表示显示所有文件和目录,包括隐藏文件;-l 表示以详细的方式显示文件和目录的属性;文件名表示要显示的文件或目录的名称。

2. cd命令:用于切换当前目录。

使用方法:cd [目录路径]参数说明:目录路径表示要切换到的目录的路径,可以是相对路径或绝对路径。

3. mkdir命令:用于创建一个新目录。

使用方法:mkdir [目录名]参数说明:目录名表示要创建的目录的名称。

4. cp命令:用于复制文件或目录。

使用方法:cp [源文件路径] [目标文件路径]参数说明:源文件路径表示要复制的文件或目录的路径,可以是相对路径或绝对路径;目标文件路径表示要将源文件复制到的目标路径,可以是相对路径或绝对路径。

5. rm命令:用于删除文件或目录。

使用方法:rm [-r] [文件或目录路径]参数说明:-r 表示删除目录及其下的所有文件和子目录;文件或目录路径表示要删除的文件或目录的路径,可以是相对路径或绝对路径。

二、进程管理1. ps命令:用于显示当前系统中正在运行的进程。

使用方法:ps [-ef]参数说明:-e 表示显示所有进程,包括其他用户的进程;-f 表示以详细的方式显示进程的属性。

2. kill命令:用于终止指定进程。

使用方法:kill [进程ID]参数说明:进程ID表示要终止的进程的ID。

三、软件安装1. apt-get命令:用于从软件仓库安装或卸载软件。

使用方法:apt-get install [软件包名]、apt-get remove [软件包名]参数说明:软件包名表示要安装或卸载的软件包的名称。

常用的Linuxshell命令详解

常用的Linuxshell命令详解

常用的Linux shell命令详解最近搞palm和Android都是基于Linux平台的应用,经常要用到一些shell命令,所以就将相关的命令整理了一下,便于记忆和查询,部分内容来源于网络。

1文件与目录操作命令1.1文件内容查询命令grep、fgrep、egrep语法:grep[选项][查找模式][文件名1,文件名2,…]选项:-E每个模式作为一个扩展的正则表达式对待-F每个模式作为一组固定字符串对待,而不作为正则表达式-i比较时不区分大小写-l显示首次匹配匹配串所在的文件名并用换行符将其分开。

当在文件中多次出现匹配串时,不重复显示次文件名;-x只显示整行严格匹配的行1.2文件查找命令find、locate语法:find起始目录寻找条件操作以名称和文件属性查找选项:-name'字串'查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、。

-lname'字串'查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、。

-gid n查找属于ID号为n的用户组的所有文件。

-uid n查找属于ID号为n的用户的所有文件。

-group'字串'查找属于用户组名为所给字串的所有的文件。

-user'字串'查找属于用户名为所给字串的所有的文件。

-path'字串'查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、。

-perm权限查找具有指定权限的文件和目录,权限的表示可以如711、644。

-type x查找类型为x的文件,语法:locate相关字1.3文件的复制、删除和移动命令文件复制命令[选项]源文件或目录目标文件或目录选项:-a通常在拷贝目录时使用-d拷贝时保留连接-f删除已经存在的目标文件而不提示-i和f选项相反-p此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中-r若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;-l不作拷贝,只是链接文件文件移动命令mv[选项]源文件或目录目标文件或目录-i交互式操作-f禁止交互式操作文件删除命令[选项]文件…-f忽略不存在的文件,从不给出提示-r指示rm将参数中列出的全部目录和子目录均递归地删除-i进行交互式删除1.4文件链接命令ln[选项]目标[链接名]或ln[选项]目标目录选项:-s建立符号链接1.5目录的创建和删除命令mkdir创建一个目录语法:[选项]dirname选项:-m对新建目录设置存取权限-p可以是一个路径名称。

Windows常用shell命令

Windows常用shell命令

Windows常⽤shell命令⼀、Windows的Shell命令⼜是Windows的CMD命令。

⽽cmd命令⼜是原来MS-DOS系统保留下来⼆、Windows Shell命令是基于配置好的Path环境变量,对Shell命令在Path路径中依次从前⾄后搜寻到对应命名的可执⾏⼊⼝三、调出cmd窗⼝执⾏(ctrl+R)以下命令四、常⽤的⼯具五、常⽤管理配置⼯具六、⾼级配置管理七、⽹络配置ipconfig命令1、显⽰连接配置 ipconfig /all2、显⽰DNS缓存内容 ipconfig /displaydns3、去除DNS缓存内容 ipconfig /flushdns3、释放全部(或指定)适配器的由DHCP分配的动态IP地址) ipconfig /release4、全部适配器重新分配IP地址 ipconfig /renew5、刷新DHCP并重新注册DNS ipconfig /registerdns6、显⽰DHCP Class ID ipconfig /showclassid7、修改DHCP Class ID ipconfig /setclassid⼋、关机操作shutdown命令shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m //computername/] [/t XXX] [/d [p:]XX:YY/c"Comment"]1、/i : 显⽰"远程关机对话框"。

/i 选项必须是键⼊的第⼀个参数,之后的所有参数都将被忽略。

2、/l : ⽴即注销当前⽤户,没有超时期限。

不能将 /l 与 /m //computername/ 或 /t ⼀起使⽤。

3、/s : 关闭计算机。

4、/r : 关机后重新启动计算机5、/a : 取消关机操作(仅在超时期限内有效)、a 参数仅可以与 /m //computername/ ⼀起使⽤6、/p : 仅关闭本地计算机(⽽不是远程计算机),没有超时期或警告。

shell常用命令及相关知识点

shell常用命令及相关知识点

shell常用命令及相关知识点一、什么是shell二、shell脚本入门1、脚本格式:#!/bin/bash 开头(指定解析器)2、脚本执行方式:开子shell方式:sh/bash sh脚本不开子shell方式:.,source sh脚本区别:环境变量的继承关系,子shell中的变量父shell不可见3、变量:1、系统预定义变量:$HOME,$PWD,$SHELL,$USER2、自定义变量:变量名=变量值撤销变量:unset 变量名声明静态变量:readonly 变量不能unset3、变量定义规则:变量名由数字、字母、下划线组成,不能以数字开头,环境变量建议大写等号两边不能有空格bash中默认的是字符串,无法直接进行数值运算变量中如果有空格,需要用双引号或单引号引起来4、export 变量把变量提升为全局变量,可供其他shell程序使用5、特殊变量:$n,$0表示脚本名称,$1-9表示脚本输入的第1-9个参数$#,$#表示输入参数的个数$*,—$*把参数看成一个整体,代表所有的参数$?,—最后一次命令的返回状态,0表示执行成功,非0表示执行失败4、运算符$((运算式))或$[运算式]5、条件判断:1)语法:test condition[ condition ] condition前后有空格2)常用判断条件:(1)比较:-eq :等于-ne :不等于-lt :小于-le :小于等于-gt:大于-ge:大于等于(2)按照文件权限进行判断:-r有读权限-w有写权限-x有执行权限(3)按照文件类型进行判断:-e文件存在-f路径是一个文件-d路径是一个目录6、流程控制(1)单分支if [ 条件判断式 ];then代码段fi或者if [ 条件判断式 ]thenfi(2)多分支if [ 条件判断式 ]then代码段elif [ 条件判断式 ]then代码段else代码段fi注意事项:中括号和条件判断式中间必须有空格,if后面也必须加空格(3)case语句case $变量名 in"值1")代码段1;;代码段2;;*)未匹配上执行该代码段3;;esac(4) for循环for ((初始值;循环控制条件;变量变化)) do代码段donefor 变量 in 值1 值2 值3do代码段done(5)while循环while [ 条件判断式 ]dodone7、函数1)系统函数basename path 取文件名dirname path 取文件的绝对路径2)自定义函数基本语法:[ function ] funname[(]代码段}二、常用命令cat /etc/shells ,,查看linux提供的shell解释器cut [选项参数] filename-f列号,提取第几列-d分隔符,默认为\tawk [选项参数] '/pattern1/{action1} ' filename-F指定文件分隔符-v赋值一个用户定义变量内置变量:FILENAME文件名NR行号NF切割后列的个数sort 选项 filename选项:-n依照数值的大小排序-r以相反的顺序排序-t设置排序时所用分隔符-k指定需要排序的列wc 选项参数 filename选项:-l统计文件行数-w统计文件的单词数-m统计文件的字符数-c统计文件的字节数。

Windows Shell命令大全

Windows Shell命令大全

Windows Shell命令大全1.命令: rundll32.exe shell32.dll,Control_RunDLL功能: 显示控制面板2.命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1功能: 显示“控制面板->辅助选项->键盘”选项视窗3.命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2功能: 显示“控制面板->辅助选项->声音”选项视窗4.命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3功能: 显示“控制面板->辅助选项->显示”选项视窗5.命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4功能: 显示“控制面板->辅助选项->鼠标”选项视窗6.命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5功能: 显示“控制面板->辅助选项->常规”选项视窗7.命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1功能: 执行“控制面板->添加新硬件”向导。

8.命令: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter功能: 执行“控制面板->添加新打印机”向导。

9.命令: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1功能: 显示“控制面板->添加/删除程序->安装/卸载”面板。

10.命令: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2功能: 显示“控制面板->添加/删除程序->安装Windows”面板。

Linux运维常用shell命令汇总

Linux运维常用shell命令汇总

Linux运维常用shell命令汇总在Linux开发环境下经常要用到一些shell命令,但是shell命令数量比较大,对于Linux运维初学者来说,不是很容易记住,故对Linux运维常用shell 命令进行了汇总。

一、文件、目录操作命令1. ls命令功能:显示文件和目录的信息ls 以默认方式显示当前目录文件列表ls -a 显示所有文件包括隐藏文件ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)ls -lt 显示文件,按照修改时间排序2. cd命令功能:改名目录cd dir 切换到当前目录下的dir目录cd / 切换到根目录cd .. 切换到到上一级目录cd ../.. 切换到上二级目录cd ~ 切换到用户目录,比如是root用户,则切换到/root下3. cp命令功能:copy文件cp source target 将文件source复制为targetcp /root /source. 将/root下的文件source复制到当前目录cp –av soure_dir target_dir 将整个目录复制,两目录完全一样4. rm命令功能:删除文件或目录rm file 删除某一个文件rm -f file 删除时候不进行提示。

可以于r参数配合使用rm -rf dir 删除当前目录下叫dir的整个目录5. mv命令功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令mv source target 将文件source更名为target6. diff功能:比较文件内容diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的comm file1 file2 比较文件,显示两个文件不相同的内容7. ln命令功能:建立链接。

linux常用shell命令大全

linux常用shell命令大全

linux常用shell命令大全linux下掌握常用的shell命令是必备的,下面由店铺为大家整理了linux常用shell命令大全的相关知识,希望大家喜欢!linux常用shell命令大全一、基本命令1、立即关机并重启动,执行如下命令:shutdown -r now 或者reboot2、立即关机,执行如下命令:shutdown -h now 或者poweroff3、等待2分钟关机并重启动,执行如下命令:shutdown -r 24、等待2分钟关机,执行如下命令:shutdown -h 25、使用当前用户的历史命令,执行如下操作:history 将会显示使用过的每条命令及其序号,可利用序号重复执行该命令。

例如输入!1并回车,将会重复执行第1条历史命令。

也可用上下光标键调出某条历史命令,然后按回车键重复执行。

还可用上下光标键调出某条历史命令,修改后按回车键执行。

6、清除当前用户的历史命令,执行如下命令:history -c 此时用向上光标键将会调不出任何历史命令。

7、命令提示键:输入命令开头一个或几个字母,然后按1次【Tab】键,系统会自动补全能够识别的部分;再按1次【Tab】键,系统显示出符合条件的所有命令供用户选择。

例如输入group后按两次键,将会显示以group开头的所有命令。

8、显示内核版本号,执行如下命令:uname -r 注:内核版本号不同于软件发行版本号。

例如,RHEL 5.4的内核版本号是2.6.18-164.el5,软件发行版本号是5.4。

9、清除屏幕,执行如下命令:clear10、显示操作系统时钟,执行如下命令:date11、加载光盘到/media,执行如下命令:mount /dev/cdrom /media12、卸载光盘,执行如下命令:umount /dev/cdrom 或者umount /media 注意:不要在/media或其子目录中执行此命令,否则将会出现“设备忙错误”。

linux中shell语句

linux中shell语句

linux中shell语句
Linux中的shell语句指的是在shell环境下运行的命令。

shell 是Linux操作系统中的命令行解释器,可以通过编写shell脚本来执行一系列的shell语句。

一些常用的Linux中的shell语句包括:
1. ls:列出目录中的文件和子目录。

2. cd:切换当前工作目录。

3. pwd:打印当前工作目录的路径。

4. mkdir:创建一个新目录。

5. rmdir:删除一个空目录。

6. cp:复制文件或目录。

7. mv:移动或重命名文件或目录。

8. rm:删除文件或目录。

9. cat:连接文件并打印到标准输出设备上。

10. grep:在文件中搜索指定的模式。

11. echo:在标准输出设备上打印指定的字符串或变量。

12. date:显示或设置系统日期和时间。

13. ifconfig:显示或配置网络接口的参数。

14. ping:测试与远程主机的连接。

15. tar:压缩和解压缩文件。

以上只是一些常用的shell语句,实际上shell语句非常丰富,可以实现很多任务和操作。

shell指令及其常见使用实例 -回复

shell指令及其常见使用实例 -回复

shell指令及其常见使用实例-回复Shell指令及其常见使用实例Shell是操作系统的一种命令行解释器,它允许用户通过键入文本命令来与操作系统进行交互。

在计算机领域中,Shell是指操作系统提供的一种命令行界面,用户可以通过Shell来运行各种命令,执行不同的任务。

本文将一步一步回答有关Shell指令及其常见使用实例的问题。

一、什么是Shell指令?Shell指令是在操作系统中使用的一组命令,用来执行各种操作,例如文件管理、进程控制、网络通信等。

Shell指令通过在命令行界面输入相应的命令来执行特定的任务。

二、常见的Shell指令有哪些?常见的Shell指令有很多,下面列举一些常用的Shell指令及其使用实例:1. ls:该指令用于列出当前目录下的文件和子目录。

例如:ls 或者ls -l2. cd:该指令用于改变当前工作目录。

例如:cd /path/to/directory3. pwd:该指令用于显示当前工作目录的路径。

例如:pwd4. mkdir:该指令用于创建新的目录。

例如:mkdir mydir5. rm:该指令用于删除文件或目录。

例如:rm myfile 或者rm -r mydir6. cp:该指令用于复制文件或目录。

例如:cp myfile newfile 或者cp -r mydir newdir7. mv:该指令用于移动文件或目录,也可以用于重命名文件或目录。

例如:mv myfile newfile 或者mv mydir newdir8. cat:该指令用于查看文件的内容。

例如:cat myfile9. grep:该指令用于在文件中搜索指定的模式。

例如:grep "pattern" myfile10. chmod:该指令用于修改文件或目录的权限。

例如:chmod 755 myfile三、Shell指令的使用实例以下是一些常见的Shell指令的使用实例:1. 列出当前目录下的文件和子目录:输入命令:ls输出结果:file1 file2 dir1 dir22. 改变当前工作目录到指定目录:输入命令:cd /path/to/directory输出结果:无3. 显示当前工作目录的路径:输入命令:pwd输出结果:/path/to/directory4. 创建一个新的目录:输入命令:mkdir mydir输出结果:无5. 删除一个文件:输入命令:rm myfile输出结果:无6. 复制一个文件到指定目录:输入命令:cp myfile newfile输出结果:无7. 移动一个文件到指定目录,或重命名文件:输入命令:mv myfile newfile 或者mv myfile path/to/newdir 输出结果:无8. 查看文件的内容:输入命令:cat myfile输出结果:文件的内容9. 在文件中搜索指定的模式:输入命令:grep "pattern" myfile输出结果:匹配的行10. 修改文件的权限:输入命令:chmod 755 myfile输出结果:无四、总结本文介绍了Shell指令及其常见使用实例。

常用shell命令

常用shell命令

常用shell命令(简洁全面版)【常用指令】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 显示文件头、尾内容ctrl+alt+F1 命令行全屏模式--------------------------------------------------------------------------------------- 【系统管理命令】stat 显示指定文件的详细信息,比ls更详细who 显示在线登陆用户whoami 显示当前操作用户hostname 显示主机名uname 显示系统信息top 动态显示当前耗费资源最多进程信息ps显示瞬间进程状态ps -auxdu 查看目录大小du -h /home带有单位显示目录信息df 查看磁盘大小df -h 带有单位显示磁盘信息ifconfig 查看网络情况ping 测试网络连通netstat 显示网络状态信息man 命令不会用了如:man lsclear清屏alias 对命令重命名如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeitkill杀死进程,可以先用ps 或top命令查看进程的id,然后再用kill 命令杀死进程。

Shell常用操作符总结-电脑资料

Shell常用操作符总结-电脑资料

Shell常用操作符总结-电脑资料这篇文章主要介绍了Shell常用操作符总结,本文讲解了算术操作符、关系操作符、测试操作符等内容,需要的朋友可以参考下一、算术操作代码如下:+ - * / %二、关系操作代码如下:< > >= <= == != && ||三、测试操作测试命令 : test [ ] [[ ]] (( ))1、测试文件状态代码如下:-d 目录-b 块设备-s 文件长度 > 0、非空-f 正规文件-w 可写-L 符号连接-u 文件有 suid 位设置-r 可读-x 可执行如: [ -w tmp.txt ] 测试文件tmp.txt是否可写2、字符串测试代码如下:= 两个字符串相等!= 两个字符串不相等-z 空串-n 非空串$ VAR1=‘abc‘$ VAR2=‘123‘$ [ "$VAR1" = "$VAR2" ] $ echo $?13、测试数值代码如下:-eq 等于-ne 不等于-gt 大于-lt 小于-ge 大于等于-le 小于等于4. 拓展测试符号 [[ ]] (( ))代码如下:# [[ 2 > 10 ]] # 结果错误# echo $?# (( 2 >10 )) 结果正确# echo $?# [[ "aa" = "aa" ]]# echo $?# (( "aa" = "aa" )) #结果错误# echo $?1四、结论比较数字,使用(( ))其他测试使用 [[ ]]包含数字比较的混合测试,使用标准语法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

73 条日常shell 命令汇总,总有一条你需要!1.检查远程端口是否对bash开放:echo >/dev/tcp/8.8.8.8/53&& echo "open"2.让进程转入后台:Ctrl + z3.将进程转到前台:fg4.产生随机的十六进制数,其中n是字符数:openssl rand -hex n5.在当前shell里执行一个文件里的命令:source /home/user/6.截取前5个字符:${variable:0:5}7.SSH debug 模式:ssh -vvv user@ip_address8.SSH with pem key:ssh user@ip_address -i key.pem9.用wget抓取完整的网站目录结构,存放到本地目录中:wget -r --no-parent --reject "index.html*"http://hostname/ -P /home/user/dirs 10.一次创建多个目录:mkdir -p /home/user/{test,test1,test2}11.列出包括子进程的进程树:ps axwef12.创建 war 文件:jar -cvf name.war file13.测试硬盘写入速度:dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img 14.测试硬盘读取速度:hdparm -Tt /dev/sda15.获取文本的md5 hash:echo -n "text"| md5sum16.检查xml格式:xmllint --noout file.xml17.将tar.gz提取到新目录里:tar zxvf package.tar.gz -C new_dir18.使用curl获取HTTP头信息:curl -I 19.修改文件或目录的时间戳(YYMMDDhhmm):touch -t 0712250000file20.用wget命令执行ftp下载:wget -m ftp://username:password@hostname21.生成随机密码(例子里是16个字符长):LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9| head -c${1:-16};echo;22.快速备份一个文件:cp some_file_name{,.bkp}23.访问Windows共享目录:smbclient -U "DOMAIN\user"///share/test/dir24.执行历史记录里的命令(这里是第100行):!10025.解压:unzip package_name.zip -d dir_name26.输入多行文字(CTRL + d 退出):cat > test.txt27.创建空文件或清空一个现有文件:\> test.txt28.与Ubuntu NTP server同步时间:ntpdate 29.用netstat显示所有tcp4监听端口:netstat -lnt4 | awk '{print $4}'| cut -f2 -d: | grep -o '[0-9]*'30.qcow2镜像文件转换:qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img\precise-server-cloudimg-amd64-disk1.raw31.重复运行文件,显示其输出(缺省是2秒一次):watch ps -ef32.所有用户列表:getent passwd33.Mount root in read/write mode:mount -o remount,rw /34.挂载一个目录(这是不能使用链接的情况):mount --bind /source /destination35.动态更新DNS server:nsupdate < <EOFupdate add $HOST 86400 A $IPsendEOF36.递归grep所有目录:grep -r "some_text"/path/to/dir37.列出前10个最大的文件:lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }'| sort -n -u | tail 38.显示剩余内存(MB):free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'39.打开Vim并跳到文件末:vim + some_file_name40.Git 克隆指定分支(master):git clone git@:name/app.git -b master41.Git 切换到其它分支(develop):git checkout develop42.Git 删除分支(myfeature):git branch -d myfeature43.Git 删除远程分支git push origin :branchName44.Git 将新分支推送到远程服务器:git push -u origin mynewfeature45.打印历史记录中最后一次cat命令:!cat:p46.运行历史记录里最后一次cat命令:!cat47.找出/home/user下所有空子目录:find /home/user -maxdepth 1-type d -empty48.获取test.txt文件中第50-60行内容:< test.txt sed -n '50,60p'49.运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):sudo !!50.创建临时RAM文件系统– ramdisk (先创建/tmpram目录):mount -t tmpfs tmpfs /tmpram -o size=512m51.Grep whole words:grep -w "name"test.txt52.在需要提升权限的情况下往一个文件里追加文本:echo "some text"| sudo tee -a /path/file53.列出所有kill signal参数:kill -l54.在bash历史记录里禁止记录最后一次会话:kill -9$$55.扫描网络寻找开放的端口:nmap -p 8081172.20.0.0/1656.设置git email:git config --global user.email "me@"57.To sync with master if you have unpublished commits:git pull --rebase origin master58.将所有文件名中含有”txt”的文件移入/home/user目录:find -iname "*txt*"-exec mv -v {} /home/user \;59.将文件按行并列显示:paste test.txt test1.txt60.shell里的进度条:pv data.log61.使用netcat将数据发送到Graphite server:echo "hosts.sampleHost 10 `date +%s`"| nc 192.168.200.2300062.将tabs转换成空格:expand test.txt > test1.txt63.Skip bash history:< space >cmd64.去之前的工作目录:cd -65.拆分大体积的tar.gz文件(每个100MB),然后合并回去:split –b 100m /path/to/large/archive /path/to/output/filescat files* > archive 66.使用curl获取HTTP status code:curl -sL -w "%{http_code}\\n"-o /dev/null67.设置root密码,强化MySQL安全安装:/usr/bin/mysql_secure_installation68.当Ctrl + c不好使时:Ctrl + \69.获取文件owner:stat -c %U file.txt70.block设备列表:lsblk -f71.找出文件名结尾有空格的文件:find . -type f -exec egrep -l " +$"{} \;72.找出文件名有tab缩进符的文件find . -type f -exec egrep -l $'\t'{} \;73.用”=”打印出横线:全选复制放进笔记printf '%100s\n'| tr ' '=。

相关文档
最新文档