作为一个程序员或者测试开发人员,我们在进行项目部署和运维时,经常会用到一些linux命令,可是这些命令老是忘记,每次用到的时候都要去谷歌百度,很是麻烦!这不,为了自己使用方便,对常见的linux命令, SHELL, VIM, Linux性能调优和linux kernel的总结,以便在用到时能够快速地找到相关命令,同时有需要的朋友也可以参考搜藏该篇文章!文章对讲到的每个命令都有详细的参数解释,并且给出一些常用例子,因此也非常适合用来学习!
创新互联建站2013年至今,先为越秀等服务建站,越秀等地企业,进行企业商务咨询服务。为越秀企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
shell(命令解释器)自带的命令称为内部命令,其它的是外部命令
内部命令使用help帮助:help cd
外部命令使用help帮助:ls --help
type命令:用于区分是内部命令还是外部命令:
ls is aliased to `ls --color=auto' #外部命令
cd is a shell builtin #内部命令
pwd命令:显示当前目录
ls命令:查看目录和文件名称
ls -l 查看目录各个字段含义
第一字段:首字母代表的是文件类型 ,其中"-"为普通文件、"d"为目录文件、"c"为字符设备文件、"b"为块设备文件、"p"为管道文件、"l"为链接文件、"s"为socket文件。“rwx”分别代表拥有读、写和执行权限,"-代表无对应权限。三个"rwx"依次代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。
第二字段:文件硬连接数量
第三字段:文件拥有者
第四字段:文件拥有者所在组
第五字段:文件大小(以字节为单位)
第六字段:文件最后更改时间
第七字段:文件名(若为链接文件则追加显示其链接的原文件的路径)
ls命令其它参数含义:
-a显示隐藏文件(.开头的文件)
-r逆序排序
-t按照时间顺序显示
-R递归显示
ls -lartR : 按照时间顺序倒序显示所有文件及其文件夹的文件
cd命令:更改当前的工作目录
cd /path/... 绝对路径
cd ./path/... 相对路径(./可以省略)
cd ../path/... 相对路径
mkdir -p 递归目录:递归创建目录
rmdir命令:删除目录
rmdir a/b/c/d/e/ #删除空目录
rm -r a/b/c/d/ #递归删除目录,但是系统会做多次询问
rm -rf a/b/c/d/ #删除目录,不做任何询问
cp命令:复制文件和目录
-r 复制目录
-p 保留用户、权限、时间等文件属性
mv命令:移动文件和重命名
mv *.log 目标目录
通配符:
*匹配任何字符串
?匹配一个字符串
[xyz]任何一个字符串
[a-z]匹配一个范围
cat命令:文本内容显示到终端
head命令:查看文件开头
head -3 文件名称 #显示文件开头3行
tail命令:查看文件末尾
tail -3 文件名称 #显示文件末尾3行
tail常用参数-f,文件内容更新后,同步显示更新的文件信息
tail -f 文件名称
wc命令:统计文件内容信息
wc 文件名称
useradd命令:新建用户
useradd 用户名
userdel命令:删除用户
userdel 用户名 用户所在的家目录不会被删除
userdel -r 用户名 用户相关的所有配置都会被删除
passwd命令:修改用户密码
passwd 用户名
usermod命令:修改用户属性
/etc/passwd文件:查看用户文件
tail /etc/passwd
/etc/shadow文件:查看用户密码
tail /etc/shadow
groupadd命令:添加用户组
groupadd 用户组
groupdel命令:删除用户组
groupdel 用户组
用户切换
su 用户名 切换用户,但是用户所在环境不变,即pwd路径不会变化
su - 用户名 切换用户,同时会切换到用户家目录,即/home/用户名
sudo命令:普通用户需要执行root用户权限的解决方案。
以下是一些常用命令汇总;The following table provides a reminder of most of the commands that we have covered so far. If you include the three, as-yet-unmentioned, commands in the last column, then you will probably be able to achieve 95% of everything that you will ever want to do in Unix (remember, you can use the man command to find out more about top , ps , and kill ). The power comes from how you can use combinations of these commands.
-c 'cc-address' -b 'bcc-address'
'to-address' | Command to send email | | mail -s "Subject"
to-address Filename` | Command to send email with attachment |
File Permission commands
Hope this Linux reference guide helps you!
希望这些常用的命令和系统原理,以及linux操作可以帮助大家提升linux命令和操作!!!
可能由于自己在WIN10里,在360进行一些杀毒清理,一个不小心根据它的提示,修改了启动项 把其中你认为加上它提示没用用的不知神码东西给删除了,然后要求我们重启。
重启后你会发现进不去选择系统的页面了
出现error:file 'boot/grub/i386-pc/normal.mod' not found grub rescue:
然后就很无奈 只能先去百度试试 解决方案如下,勇敢尝试,不要怕处理不了,方法还是很有效的,不然我也不会写这个文章的:
先输入命令 ls
会出现一串字符串 我的是 hd0 (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
接下来需要试一下到底那个msdos*(*为上面字符串里的数字)才是具体的linux系统的主分区;需要输入的命令为:ls(hd0,msdos*)/boot/grub 一个个试过去,一般都是第一个的 当输入正确的时候会出现下列命令:
../../....../.......(由于没用拍照,所以忘记了,不好意思,基本格式是这样的,输入错误的都会提示 not found)
好,你终于找到了先恭喜一下,你快解决了,接下只要配置下环境就好了,再输入一些命令就好,命令为:
1.set root=(hd0,msdos9)/boot/grub //这里msdos后面的数字为你找到的msdos后面的那个数字 我的为9;
2.set prefix=(hd0,msdos9)/boot/grub
3.insmod normal
4.normal
输入完后你就可以进入选择系统页面的;为了安全起见,我们先进入linux系统内,重新安装一下grub,就可以尽可能避免再次发生这样的事;
很简单。ctrl+alt+t进入终端,输入命令 sudo update-grub
会出现:
Installing for i386-pc platform.
Installation finished. No error reported.
sudo grub-install /dev/sda
会出现
Installing for i386-pc platform.
Installation finished. No error reported.
好的 这个问题已经解决的
谢谢观看本文章
Question:
持续更新......
(11)重启网络:sudo /etc/init.d/networking restart
·
(10) Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pycurl.so' Consider using the --user option or check the permissions.
给它sudo 权限就可以了,酱紫:
(9) Failed building wheel for pycurl
(9)make install 时候,酱紫:
很简单,给它root 权限就OK
酱紫: sudo make install
(8)安装Python 2.7的时候报错:
configure: error: no acceptable C compiler found in $PATH See "config.log" for more details
错误:
解决办法:安装基础包
此时 再输入 ./configure 即酱紫: ./configure --prefix=/usr/local/python2 就不会报错了
(7) E: Unable to locate package build-essential
究其原因,应该是刚安装,软件源还来不及更新,所以才会无法找到包。我猜测在更换软件源之后,也很可能会出现这个问题。
输入即可
(6) wget: unable to resolve host address
修改conf 文件: sudo vim /etc/resolv.conf
后面加上:
(5)SSH Xshell 连接不上Linux ubuntu(Ubuntu已安装了ssh)
这个原因是由于自身是server,然后又给它装了一个桌面,所以之后,一直都起不来,最后的解决方法是 卸载桌面,清掉相关的信息,就是酱紫:
(4)apt-get update 报错:
E: Failed to fetch cdrom://Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)/dists/xenial/main/binary-amd64/Packages Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs E: Some index files failed to download. They have been ignored, or old ones used instead.
执行 : sudo nano /etc/apt/sources.list or sudo vim /etc/apt/sources.list ,
在顶部附近,注释掉看起来像这样的行:
deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)]/ xenial main restricted
再运行 sudo apt-get update :
如果还是觉得没用,试试
(3)第一次ssh上传文件报错:server responded”algorithm negotiation failed”
解决方法:
修改ssh的配置文件 /etc/ssh/sshd_config
cd /etc/ssh
vi /etc/ssh/sshd_config
在配置文件中添加:
重启sshd服务后(sudo service ssh restart),即可正常连接:
sudo service ssh restart 或者 sudo reboot
(2)解决 swap file “*.swp”already exists!问题
方法:
使用vim编辑文件实际是先 copy 一份临时文件并映射到内存给你编辑, 编辑的是临时文件, 当执行:w 后才保存临时文件到原文件,执行:q 后才删除临时文件。
*****将隐藏的 *.swp 文件删除即可,原先的文件便可再次编辑*****
ls -a
rm -r .swp文件 eg:rm -r .test.py.swp
vi 文件
(1)虚拟机不能上网:
ifconfig 网卡有没有
VMware 两个网卡
VMware 编辑 恢复初始化