写点什么

新人问一般都用哪些 Linux 命令,我把这个扔了过去,linux 基础及应用教程课后答案

用户头像
极客good
关注
发布于: 刚刚

基本操作




Linux 关机,重启




#?关机


shutdown?-h?now


#?重启


shutdown?-r?now


查看系统,CPU 信息




#?查看系统内核信息


uname?-a


#?查看系统内核版本


cat?/proc/version


#?查看当前用户环境变量


env


cat?/proc/cpuinfo


#?查看有几个逻辑 cpu,?包括 cpu 型号


cat?/proc/cpuinfo?|?grep?name?|?cut?-f2?-d:?|?uniq?-c


#?查看有几颗 cpu,每颗分别是几核


cat?/proc/cpuinfo?|?grep?physical?|?uniq?-c


#?查看当前 CPU 运行在 32bit 还是 64bit 模式下,?如果是运行在 32bit 下也不代表 CPU 不支持 64bit


getconf?LONG_BIT


#?结果大于 0,?说明支持 64bit 计算.?lm 指 long?mode,?支持 lm 则是 64bit


cat?/proc/cpuinfo?|?grep?flags?|?grep?'?lm?'?|?wc?-l


建立软连接




ln?-s?/usr/local/jdk1.8/?jdk


rpm 相关




#?查看是否通过 rpm 安装了该软件


rpm?-qa?|?grep?软件名


sshkey




#?创建 sshkey


ssh-keygen?-t?rsa?-C?your_email@example.com


#id_rsa.pub?的内容拷贝到要控制的服务器的?home/username/.ssh/authorized_keys?中,如果没有则新建(.ssh 权限为 700,?authorized_keys 权限为 600)


命令重命名




#?在各个用户的.bash_profile 中添加重命名配置


alias?ll='ls?-alF'


同步服务器时间




sudo?ntpdate?-u?ntp.api.bz


后台运行命令




#?后台运行,并且有 nohup.out 输出


nohup?xxx?&


#?后台运行,?不输出任何日志


nohup?xxx?>?/dev/null?&


#?后台运行,?并将错误信息做标准输出到日志中?


nohup?xxx?>out.log?2>&1?&


强制活动用户退出




#?命令来完成强制活动用户退出.其中 TTY 表示终端名称


pkill?-kill?-t?[TTY]


查看命令路径




which?<命令>


查看进程所有打开最大 fd 数




ulimit?-n


配置 dns




vim?/etc/resolv.conf


nslookup,查看域名路由表




nslookup?google.com


last, 最近登录信息列表




#?最近登录的 5 个账号


last?-n?5


设置固定 ip




ifconfig?em1??192.168.5.177?netmask?255.255.255.0


查看进程内加载的环境变量




#?也可以去?cd?/proc?目录下,?查看进程内存中加载的东西


ps?eww?-p??XXXXX(进程号)


查看进程树找到服务器进程




ps?auwxf


查看进程启动路径




cd?/proc/xxx(进程号)


ls?-all


#?cwd 对应的是启动路径


添加用户, 配置 sudo 权限




#?新增用户


useradd?用户名


passwd?用户名


#增加 sudo 权限


vim?/etc/sudoers


#?修改文件里面的


#?root????ALL=(ALL)???????ALL


#?用户名?ALL=(ALL)???????ALL


强制关闭进程名包含 xxx 的所有进程




ps?aux|grep?xxx?|?grep?-v?grep?|?awk?'{print?$2}'?|?xargs?kill?-9


磁盘,文件,目录相关操作


============


vim 操作




#normal 模式下?g 表示全局,?x 表示查找的内容,?y 表示替换后的内容


:%s/x/y/g


#normal 模式下


0??#?光标移到行首(数字 0)


$??#?光标移至行尾


shift?+?g?#?跳到文件最后


gg?#?跳到文件头


#?显示行号


:set?nu


#?去除行号


:set?nonu


#?检索


/xxx(检索内容)??#?从头检索,?按 n 查找下一个


?xxx(检索内容)??#?从尾部检索


打开只读文件,修改后需要保存时(不用切换用户即可保存的方式)




#?在 normal 模式下


:w?!sudo?tee?%


查看磁盘, 文件目录基本信息




#?查看磁盘挂载情况


mount


#?查看磁盘分区信息


df


#?查看目录及子目录大小


du?-H?-h


#?查看当前目录下各个文件,?文件夹占了多少空间,?不会递归


du?-sh?*


wc 命令




#?查看文件里有多少行


wc?-l?filename


#?看文件里有多少个 word


wc?-w?filename


#?文件里最长的那一行是多少个字


wc?-L?filename


#?统计字节数


wc?-c


常用压缩, 解压缩命令



压缩命令

tar?czvf?xxx.tar?压缩目录


zip?-r?xxx.zip?压缩目录

解压缩命令

tar?zxvf?xxx.tar


#?解压到指定文件夹


tar?zxvf?xxx.tar?-C?/xxx/yyy/


unzip?xxx.zip


变更文件所属用户, 用户组




chown?eagleye.eagleye?xxx.log


cp, scp, mkdir




#复制


cp?xxx.log


#?复制并强制覆盖同名文件


cp?-f?xxx.log


#?复制文件夹


cp?-r?xxx(源文件夹)?yyy(目标文件夹)


#?远程复制


scp?-P?ssh 端口?username@10.10.10.101:/home/username/xxx?/home/xxx


#?级联创建目录


mkdir?-p?/xxx/yyy/zzz


#?批量创建文件夹,?会在 test,main 下都创建 java,?resources 文件夹


mkdir?-p?src/{test,main}/{java,resources}


比较两个文件




diff?-u?1.txt?2.txt


日志输出的字节数,可以用作性能测试




#?如果做性能测试,?可以每执行一次,?往日志里面输出?“.”?,?这样日志中的字节数就是实际的性能测试运行的次数,?还可以看见实时速率.


tail?-f?xxx.log?|?pv?-bt


查看, 去除特殊字符




#?查看特殊字符


cat?-v?xxx.sh


#?去除特殊字符


sed?-i?'s/^M//g’?env.sh??去除文件的特殊字符,?比


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


如^M:??需要这样输入:?ctrl+v+enter


处理因系统原因引起的文件中特殊字符的问题




#?可以转换为该系统下的文件格式


cat?file.sh?>?file.sh_bak


#?先将 file.sh 中文件内容复制下来然后运行,?然后粘贴内容,?最后 ctrl?+?d?保存退出


cat?>?file1.sh


#?在 vim 中通过如下设置文件编码和文件格式


:set?fileencodings=utf-8?,然后?w?(存盘)一下即可转化为?utf8?格式,


:set?fileformat=unix


#?在 mac 下使用 dos2unix 进行文件格式化


find?.?-name?"*.sh"?|?xargs?dos2unix


tee, 重定向的同时输出到屏幕




awk?‘{print?$0}’?xxx.log?|?tee?test.log


检索相关


====


grep




#?反向匹配,?查找不包含 xxx 的内容


grep?-v?xxx


#?排除所有空行


grep?-v?'^/pre>


#?返回结果?2,则说明第二行是空行


grep?-n?“^$”?111.txt????


#?查询以 abc 开头的行


grep?-n?“^abc”?111.txt?


#?同时列出该词语出现在文章的第几行


grep?'xxx'?-n?xxx.log


#?计算一下该字串出现的次数


grep?'xxx'?-c?xxx.log


#?比对的时候,不计较大小写的不同


grep?'xxx'?-i?xxx.log


awk




#?以':'?为分隔符,如果第五域有 user 则输出该行


awk?-F?':'?'{if?(0}'?/etc/passwd?


#?统计单个文件中某个字符(串)(中文无效)出现的次数


awk?-v?RS='character'?'END?{print?--NR}'?xxx.txt


find 检索命令




#?在目录下找后缀是.mysql 的文件


find?/home/eagleye?-name?'*.mysql'?-print


#?会从?/usr 目录开始往下找,找最近 3 天之内存取过的文件。


find?/usr?-atime?3?–print


#?会从?/usr 目录开始往下找,找最近 5 天之内修改过的文件。


find?/usr?-ctime?5?–print


#?会从?/doc 目录开始往下找,找 jacky 的、文件名开头是 j 的文件。??


find?/doc?-user?jacky?-name?'j*'?–print


#?会从?/doc 目录开始往下找,找寻文件名是 ja 开头或者 ma 开头的文件。


find?/doc?(?-name?'ja*'?-o-?-name?'ma*'?)?–print


#??会从?/doc 目录开始往下找,找到凡是文件名结尾为 bak 的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{?}?表示文件名,“;”是规定的命令结尾。?

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
新人问一般都用哪些 Linux 命令,我把这个扔了过去,linux基础及应用教程课后答案