--- layout: post # 使用的布局(不需要改) title: Linux命令总结 # 标题 subtitle: 这是2010年之前总结的文档 #副标题 date: 2019-11-03 # 时间 author: Duter2016 # 作者 header-img: img/post-bg-unix-linux.jpg #这篇文章标题背景图片 header-mask: "0.1" # 博文页面上端的背景图片的亮度,数值越大越黑暗 catalog: true # 开启catalog,将在博文侧边展示博文的结构 istop: false # 设为true可把文章设置为置顶文章 music-id: # 网易云音乐单曲嵌入 music-idfull: # 网易云音乐歌单嵌入 tags: #标签 - Linux --- > 这个Linux命令总结文档是我在2010年之前使用Ubuntu8.04、Ubuntu9.04的时候,自己整理的Linux命令。之前还在自己的网站上挂着,网站没有了,现从自己的网盘上重新扒下来一份。 ### 1.计算机信息(cpu、内存、硬盘、U盘、版本、内核) ``` 1)查看系统的内核版本:uname –a 2)查看cpu:cat /proc/cpuinfo 3)查看内存:cat /proc/meminfo 或 cat /proc/meminfo |grep MemTotal或free 4)查看显卡:lspci 5)查看U盘信息:lsusb 或ls –a 或ls –v 6)查看硬盘:sudo fdisk -l 7)硬件驱动:lsmod 8)kernel版本:uname -a 9)Ubuntu版本:cat /etc/issue ``` ### 2.文件、目录管理 ``` 1)目录文件名之后附加一个斜线(/); 可执行文件名后附加一个星号(*); 符号链接文件名后附加一个@字符。 2)列出当前目录中所有以‘t’开头的目录的详细内容:ls –l t* 3)列出root/testdir/详细内容清单:ls –lr testdir 或dir –l testdir 4)显示用户当前工作目录的完整路径:pwd 5)进入当前目录的上一级目录:cd .. 进入当前目录的父目录的父目录:cd ../.. 注:cd 回到/home目录 cd – 回到/home之前目录 6)cat命令: -n #从1开始对所有输出编号 -b #与-n类似,但不对空的行编号 -s #当遇到两行以上的空白行时,将其替换为一行空白行 如:将文本文件file1中的内容加上行后输出到file2中,命令: cat –n file1>file2 7)列举扩展名为.txt的文件:(sudo) find –name “*.txt” 8)读取文件/root/file1的前两行内容:head -2 file1 9)读取文件/root/file1的后10行内容:tail -10 file1 10)将目录/root中的文件file1复制到/root/testdir/中,并重命名为file2: cp file1 testdir/file2 将/home/所有扩展名为.txt文件复制到/home/yin/中: cp /home/*.txt /home/yin 复制目录(即文件夹)时要加“-r”:cp -r f1 f2 11)将当前目录/root/中文件file1移到/root/testdir/中,如有重名文件则进行覆盖: mv -I file1 testdir/ 将/root/testdir/中的文件file2更名为file3: mv testdir/file2 testdir/file3 12)删除/home/yin/mydir/中所有的.txt文件,并在删除前进行确认: rm -i /home/yin/mydir/*.txt 注:-i在删除文件前逐一询问确认 -f在删除文件前无需逐一确认 13)为文件file2创建一个软链接f2(快捷方式):ln -s file2 f2 为文件/root/testdir/file1创建一个硬链接:ln testdir/file1 testdir/f1 14)将afile.txt拥有者设为user群组的用户yin: chown yin:user afile.txt 15)显示某文件的类型:file 【文件名】 16)创建文件file1:touch file1 或 sudo touch file1 17)删除目录abc:rm -R abc 18)查看文件filetxt内容: cat filetxt #全部显示出来并退出 less filetxt #逐屏显示,并可前后翻页 more filetxt #逐屏显示,不可前翻 19)创建目录:mkdir floder1 删除目录:rmdir floder1 若删除非空目录则必须用:rm -r floder1 ``` ### 3.磁盘管理(df du fdisk mkfs mount hdparm sync) ``` 1)查看系统挂载的磁盘信息:df –h 或df –lh 2)显示目录/root/testdir及其中各子目录和文件的磁盘使用情况 du -a testdir #递归显示文件所占用数据块数 du -k testdir #以1024B为单位列出磁盘空间使用情况 du testdir #只显示目录的磁盘使用情况 3)在关闭Linux时,把内存中的数据强制写回硬盘,免丢失数据:sync 或sudo sync 4)查看磁盘容量:df 或 df -h 5)查看目录容量:du 或 du -h 或 du -hs 若查看根目录:sudo du / -h(或-hs) 6)挂载光盘:sudo mount -t /dev/cdrom /mnt 或 sudo mount -t /dev/cdrom /home/user1 7)卸载光盘:sudo umont /dev/cdrom或sudo umount /mnt 8)弹出光驱:eject /dev/cdrom 9)加载软驱:mount –t fstype /dev/fd0 /mnt/floppy 10)测试硬盘读写速度:sudo hdparm -tT /dev/sda ``` ### 4.用户管理 ``` 1)finger命令查询用户信息:finger -l/-p [帐号名称] 2)显示或设置系统主机名:hostname 3)wall命令:用来发送信息给登陆本机的所有用户,按Ctrl+D发送 4)who命令——用于查看当前有哪些用户登陆了计算机 5)查看曾经登陆用户:last 6)是否允许其他用户给自己发信息:mesg y/n 7)修改普通用户口令:passwd 8)启用root权限:sudo passwd root 9)切换用户:su 【用户名】 10)添加新用户user2:sudo useradd user2 11)把用户user2改为user3:sudo usermod -l user3 user2 12)查看user3的情况:id user3 13)删除用户user3:sudo userdel user3 14)类似的对用户组有如下命令: sudo groupadd group1 sudo groupmod -n group2 group1 sudo groupdel group2 15)具备root环境变量:su - root 退出root用户:exit 16)切换到user2用户下执行命令,执行后再返回当前用户:sudo -u user2 [ ] ``` ### 5.进程管理 ``` 1)查看程序进程编号用ps或jobs指令 2)查看系统中进程:ps 或 ps aux 3)查看进程间关系:pstree 4)动态查看进程:top 5)关闭进程: kill 【进程号PID】 pkill 【进程名字】 xkill (输入xkill后出现“x”,点击要关闭的窗口) 6)前台运行firefox:firefox 后台运行firefox:firefox & 查看后台进程:jods 后台进程调到前台:fg [进程号] 前台调到后台:bg [进程号] 注:ctrl+C关闭前台进程 7)查看进程优先级:ps al 调整优先级:sudo renice [NI号] -p [进程号PID] 8)查看环境变量:env 9)查看软件运行所用时间:time 【进程/程序】 ``` ### 6.命令使用 ``` 1)查看某个命令的帮助信息:man 【命令名称】 2)命令行历史记录:按Ctrl+R,shell就进入“(reverse-i-search)”“:”模式,即向后增量搜索。 在冒号后输入要查询的命令的首字母,如“c”,这时就出现最近执行过的包含“c”的命令,按Enter键,将执行搜出的命令,按方向键或Esc,回到普通模式。 3)Linux命令行上可一次输入和执行多个命令,命令与命令之间要用分号隔开,命令执行顺序与输入顺序相同。 4)Linux命令行的自动补齐功能:按Tab键 5)中断shell执行的命令:Ctrl+C 6)查看命令帮助:man [ ] 或info [ ] 或[ ] --help 7)查看历史使用命令:history 清除:history -c ``` ### 7.系统管理(env date time history dmesg uptime w last) ``` 1)显示或控制kernel缓冲区:dmesg 2)查看当前内存使用状况:free 3)显示系统已运行多长时间:uptime 4)退出虚拟控制台:logout 5)程序运行后产生无用的core文件,没有用处可删除。 6)死机时强行退出xwindow进入字符界面:ctrl+alt+backspace ``` ### 8.网络管理 ``` 1)ifconfig命令:配置网卡接口,使用down或up来禁止或启用某网卡接口 2)显示网络连接、路由表和网络接口信息:netstat 3)显示或设置IP路由表:route 4)查看DNS:cat /etc/resolv.conf 5)从www下载文件:wget 【网址】 6)断开网络:sudo ifconfig eth0 down 7)连接网络:sudo dhclient eth0 8)扫描网络上的机器:nmap 9)ping:ping google.ca ``` ### 9.压缩包管理 ``` 1)将/root/中file1.txt和file2.txt两文件(并不压缩): tar cvf txtfile.tar *.txt 查看文件data.tar.gz中包含哪些文件: tar tvf data.tar.gz 对.gz文件进行解压后,再解开tar文件: tar -xvzf data.tar.gz 注:-c建立一个新tar文件 -v显示运行过程 -f表示存档到文件而不是磁盘 -x解压缩tar文件 -z使用gzip -t查看压缩文件内容 -r向归档文件末尾追加文件 2)对文本文件file1创建压缩文件:gzip /home/yin/file1 也可由tar命令和gzip命令组合: tar cvf txtfile2.tar *.txt; gzip txtfile2.tar 3)解压缩文件txtfile.tar.gz,并显示指令执行过程:gunzip -v txtfile.tar.gz 注:此命令执行后,源文件就不存在了。 ``` ### 10.任务管理 ``` 1)设定在10:00打开test文件:at 10:00 =》 at> cat test.txt 2)查看已设定的任务:atq 3)删除某个已设定的单个任务:atrm 3 #3为任务编号,通过atq获取 4)需用到root权限的要在at、atq、atrm等前加sudo,用组合键Ctrl+D退出 5)周期性执行:crontab -e 弹出如下内容 # m h dom mon dow command 15 1 * * 1-5(或1,2,3,4,5) /home/user1/backup.sh #此行为输入内容 接下来按住Ctrl+X,yes存盘 (注:m表示分,h表时,dom表一个月中的第几天,dow一周中的第几天,此命令的意思是在每个月的周一至周五在一点15分时执行命令/home/user1/backup.sh 6)查看已设定的周期性任务:crontab –l 7)删除已设定的周期性任务:crontab -r 8)设置周期性任务时最好运行一下以下命令:sudo /etc/init.d/cron restart 9)使用超级用户执行周期性任务:sudo crontab –u root –e ``` ### 11.关机管理 ``` 1)强制重启(跳过sync过程):reboot -f 2)先关闭所有网络界面,再重启:reboot -i 3)关闭系统:halt -f/-i 4)关机:shutdown -h now 5)重启:shutdown -r now ``` ### 12.日常应用 ``` 1)显示年月历和年历:cal 2)显示年历:cal 01 2010 3)找出两个文本文件的差异:diff [参数] file1 file2 -w #互联所有空格差别 -i #忽略大小写 4)比较任意两个文件:cmp [para] file1 file2 ``` ### 13.Linux目录结构 ``` 1)存放命令的目录/bin /sbin /user/bin /user/sbin /user/local/bin 2)/boot内核及其他系统启动所需文件 3)/opt 安装大的应用程序 4)/tmp临时文件 5)/lost+found系统修复过程中回复的文件 6)/root超级用户的主目录 ```