一、linux CPU大小
cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"
说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为
二、内存大小
cat /proc/meminfo |grep MemTotal
三、硬盘大小
fdisk -l |grep Disk
四、
uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
五、head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
六、cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
七、hostname # 查看计算机名的linux系统信息命令
八、lspci -tv # 列出所有PCI设备
九、lsusb -tv # 列出所有USB设备的linux系统信息命令
十、lsmod # 列出加载的内核模块
Module Size Used byautofs426513 3 sunrpc260521 1 8021q 25317 0 garp7152 1 8021qstp 2218 1 garpllc 5546 2 garp,stpcpufreq_ondemand 10544 2 powernow_k8 18171 1 freq_table 4936 2 cpufreq_ondemand,powernow_k8mperf 1557 1 powernow_k8ip6t_REJECT 4628 2 nf_conntrack_ipv6 8748 2 nf_defrag_ipv6 11182 1 nf_conntrack_ipv6xt_state1492 2 nf_conntrack 79357 2 nf_conntrack_ipv6,xt_stateip6table_filter 2889 1 ip6_tables 19458 1 ip6table_filteripv6 321422 47 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6ppdev 8537 0 parport_pc 22690 0 parport36209 2 ppdev,parport_pcasus_atk0110 14216 0 sg 29350 0 microcode 112653 0 serio_raw4594 0 k10temp 3609 0 edac_core 46581 0 edac_mce_amd 14705 0 snd_hda_codec_realtek 68136 1 snd_hda_intel27823 2 snd_hda_codec 121518 2 snd_hda_codec_realtek,snd_hda_intelsnd_hwdep6652 1 snd_hda_codecsnd_seq55759 1 snd_seq_device6500 1 snd_seqsnd_pcm86635 2 snd_hda_intel,snd_hda_codecsnd_timer 22411 3 snd_seq,snd_pcmsnd69907 14 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timersoundcore7958 1 sndsnd_page_alloc8470 2 snd_hda_intel,snd_pcmi2c_piix4 12608 0 r8169 60023 0 mii 5376 1 r8169shpchp 32778 0 ext4 363408 3 mbcache 8193 1 ext4jbd2 90230 1 ext4sr_mod 15177 0 cdrom 39085 1 sr_modsd_mod 38976 3 crc_t10dif 1541 1 sd_modahci 41127 2 pata_acpi3701 0 ata_generic 3837 0 pata_atiixp 4211 0 radeon917108 0 ttm80957 1 radeondrm_kms_helper 40087 1 radeondrm 265638 3 radeon,ttm,drm_kms_helperi2c_algo_bit 5935 1 radeoni2c_core31084 5 i2c_piix4,radeon,drm_kms_helper,drm,i2c_algo_bitdm_mirror 14133 0 dm_region_hash 12085 1 dm_mirrordm_log 9930 2 dm_mirror,dm_region_hashdm_mod 82839 11 dm_mirror,dm_log
十一、env # 查看环境变量资源
LESS_TERMCAP_mb=HOSTNAME=localhost.localdomainLESS_TERMCAP_md=LESS_TERMCAP_me=TERM=xtermSHELL=/bin/bashHISTSIZE=1000NLS_LANG=AMERICAN_AMERICA.AL32UTF8SSH_CLIENT=192.168.1.104 2465 22QTDIR=/usr/lib64/qt-3.3OLDPWD=/homeLESS_TERMCAP_ue=QTINC=/usr/lib64/qt-3.3/includeSSH_TTY=/dev/pts/1USER=rootLD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:ORACLE_BASE=/usr/lib/oracle/11.2LESS_TERMCAP_us=MAIL=/var/spool/mail/rootPATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/erlang/bin:/home/rabbitmq_server-3.3.1/sbin/:/usr/lib/oracle/11.2/client64/bin:/root/binPWD=/LANG=zh_CN.UTF-8KDE_IS_PRELINKED=1MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefilesLOADEDMODULES=KDEDIRS=/usrSSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassHISTCONTROL=ignoredupsSHLVL=1
十二、free -m # 查看内存使用量和交换区使用量
total used freeshared bufferscachedMem:3706 3534 1710 31 3258-/+ buffers/cache: 244 3461Swap: 37110 3711[root@localhost /]#
十三、df -h # 查看各分区使用情况
[root@localhost /]# df -h文件系统容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root50G 6.4G 41G 14% /tmpfs 1.9G 72K 1.9G 1% /dev/shm/dev/sda1 485M 38M 422M 9% /boot/dev/mapper/VolGroup-lv_home406G 2.8G 382G 1% /home
下面就不一一演示了
十四、du -sh # 查看指定目录的大小
十五、grep MemTotal /proc/meminfo # 查看内存总量
十六、grep MemFree /proc/meminfo # 查看空闲内存量
十七、uptime # 查看系统运行时间、用户数、负载
十八、cat /proc/loadavg # 查看系统负载磁盘和分区
十九、mount | column -t # 查看挂接的分区状态
二十、fdisk -l # 查看所有分区
二十一、swapon -s # 查看所有交换分区
二十二、hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
二十三、dmesg | grep IDE # 查看启动时IDE设备检测状况网络
二十四、ifconfig # 查看所有网络接口的属性
二十五、iptables -L # 查看防火墙设置
二十六、route -n # 查看路由表
二十七、netstat -lntp # 查看所有监听端口
二十八、netstat -antp # 查看所有已经建立的连接
二十九、netstat -s # 查看网络统计信息进程
三十、ps -ef # 查看所有进程
三十一、top # 实时显示进程状态用户
三十二、w # 查看活动用户
三十三、id # 查看指定用户信息
三十四、last # 查看用户登录日志
三十五、cut -d: -f1 /etc/passwd # 查看系统所有用户
三十六、cut -d: -f1 /etc/group # 查看系统所有组
三十七、crontab -l # 查看当前用户的计划任务服务
三十七、chkconfig –list # 列出所有系统服务
三十八、chkconfig –list | grep on # 列出所有启动的系统服务程序
三十九、rpm -qa # 查看所有安装的软件包
四十、cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
四十一、cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
四十二、cat /proc/meminfo :查看linux系统内存信息的linux系统命令
四十三、cat /proc/version :查看版本,类似uname -r
四十四、cat /proc/ioports :查看设备io端口
四十五、cat /proc/interrupts :查看中断
四十六、cat /proc/pci :查看pci设备的信息
四十七、cat /proc/swaps :查看所有swap分区的信息
Git的基本命令
现在我们有了本地和远程的版本库,让我们来试着用用Git的基本命令:
git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update
git add:是 将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中,该功能类似于SVN的add
git rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb',该功能类似于SVN的rm、del
git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m story #3, add user model',提交的时候必须用-m来输入一条提交信息,该功能类似于SVN的commit
git push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中
git log:查看历史日志,该功能类似于SVN的log
git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本号都是生成的一个哈希值
上面的命令几乎都是每个版本控制工具所公有的,下面就开始尝试一下Git独有的一些命令:
git branch:对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支
git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚
git rebase:用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能
git reset:将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有A-G五次提交的版本,其中C的版本号是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了'git resetbbaf6fb5060b4875b18ff9ff637ce118256d6f20'那么结果就只剩下了A-C三个提交的版本
git stash:将当前未提交的工作存入Git工作栈中,时机成熟的时候再应用回来,这里暂时提一下这个命令的用法,后面在技巧篇会重点讲解
git config:利用这个命令可以新增、更改Git的各种设置,例如'git config branch.master.remote origin'就将master的远程版本库设置为别名叫做origin版本库,后面在技巧篇会利用这个命令个性化设置你的Git,为你打造独一无二的 Git
git tag:可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号哈希值了,例如你可以使用'git tag revert_version bbaf6fb5060b4875b18ff9ff637ce118256d6f20'来标记这个被你还原的版本,那么以后你想查看该版本时,就可以使用 revert_version标签名,而不是哈希值了
Git之所以能够提供方便的本地分支等特性,是与它的文件存储机制有关的。Git存储版本控制信息时使用它自己定义的一套文件系统存储机制,在代码根目录下有一个.git文件夹,会有如下这样的目录结构:
有 几个比较重要的文件和目录需要解释一下:HEAD文件存放根节点的信息,其实目录结构就表示一个树型结构,Git采用这种树形结构来存储版本信息,那么 HEAD就表示根;refs目录存储了你在当前版本控制目录下的各种不同引用(引用指的是你本地和远程所用到的各个树分支的信息),它有heads、 remotes、stash、tags四个子目录,分别存储对不同的根、远程版本库、Git栈和标签的四种引用,你可以通过命令'git show-ref'更清晰地查看引用信息;logs目录根据不同的引用存储了日志信息。因此,Git只需要代码根目录下的这一个.git目录就可以记录完 整的版本控制信息,而不是像SVN那样根目录和子目录下都有.svn目录。那么下面就来看一下Git与SVN的区别吧
初始化配置
C代码 #配置使用git仓库的人员姓名gitconfig--globaluser.name"YourNameComesHere"#配置使用git仓库的人员emailgitconfig--globaluser.emailyou@#配置到缓存默认15分钟gitconfig--globalcredential.helpercache#修改缓存时间gitconfig--globalcredential.helper'cache--timeout=3600'gitconfig--globalcolor.uitruegitconfig--globalalias.cocheckoutgitconfig--globalalias.cicommitgitconfig--globalalias.ststatusgitconfig--globalalias.brbranchgitconfig--globalcore.editor"mate-w"#设置Editor使用textmategitconfig-1#列举所有配置#用户的git配置文件~/.gitconfig查看、添加、提交、删除、找回,重置修改文件
C代码 githelp<command>#显示command的helpgitshow#显示某次提交的内容gitshow$idgitco--<file>#抛弃工作区修改gitco.#抛弃工作区修改gitadd<file>#将工作文件修改提交到本地暂存区gitadd.#将所有修改过的工作文件提交暂存区gitrm<file>#从版本库中删除文件gitrm<file>--cached#从版本库中删除文件,但不删除文件gitreset<file>#从暂存区恢复到工作文件gitreset--.#从暂存区恢复到工作文件gitreset--hard#恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改gitci<file>gitci.gitci-a#将gitadd,gitrm和gitci等操作都合并在一起做gitci-am"somecomments"gitci--amend#修改最后一次提交记录gitrevert<$id>#恢复某次提交的状态,恢复动作本身也创建了一次提交对象gitrevertHEAD#恢复最后一次提交的状态查看文件diff
C代码 gitdiff<file>#比较当前文件和暂存区文件差异gitdiffgitdiff<$id1><$id2>#比较两次提交之间的差异gitdiff<branch1>..<branch2>#在两个分支之间比较gitdiff--staged#比较暂存区和版本库差异gitdiff--cached#比较暂存区和版本库差异gitdiff--stat#仅仅比较统计信息查看提交记录
C代码 gitloggitlog<file>#查看该文件每次提交记录gitlog-p<file>#查看每次详细修改内容的diffgitlog-p-2#查看最近两次详细修改内容的diffgitlog--stat#查看提交统计信息tig
Mac上可以使用tig代替diff和log,brew install tig
取得Git仓库
C代码 #初始化一个版本仓库gitinit#Clone远程版本库gitclonegit@xbc.me:wordpress.git#添加远程版本库origin,语法为gitremoteadd[shortname][url]gitremoteaddorigingit@xbc.me:wordpress.git#查看远程仓库gitremote-v提交你的修改
C代码 #添加当前修改的文件到暂存区gitadd.#如果你自动追踪文件,包括你已经手动删除的,状态为Deleted的文件gitadd-u#提交你的修改gitcommit–m"你的注释"#推送你的更新到远程服务器,语法为gitpush[远程名][本地分支]:[远程分支]gitpushoriginmaster#查看文件状态gitstatus#跟踪新文件gitaddreadme.txt#从当前跟踪列表移除文件,并完全删除gitrmreadme.txt#仅在暂存区删除,保留文件在当前目录,不再跟踪gitrm–cachedreadme.txt#重命名文件gitmvreademe.txtreadme#查看提交的历史记录gitlog#修改最后一次提交注释的,利用–amend参数gitcommit--amend#忘记提交某些修改,下面的三条命令只会得到一个提交。gitcommit–m"addreadme.txt"gitaddreadme_forgottengitcommit–amend#假设你已经使用gitadd.,将修改过的文件a、b加到暂存区#现在你只想提交a文件,不想提交b文件,应该这样gitresetHEADb#取消对文件的修改gitcheckout–-readme.txt查看、切换、创建和删除分支
C代码 gitbr-r#查看远程分支gitbr<new_branch>#创建新的分支gitbr-v#查看各个分支最后提交信息gitbr--merged#查看已经被合并到当前分支的分支gitbr--no-merged#查看尚未被合并到当前分支的分支gitco<branch>#切换到某个分支gitco-b<new_branch>#创建新的分支,并且切换过去gitco-b<new_branch><branch>#基于branch创建新的new_branchgitco$id#把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除gitco$id-b<new_branch>#把某次历史提交记录checkout出来,创建成一个分支gitbr-d<branch>#删除某个分支gitbr-D<branch>#强制删除某个分支(未被合并的分支被删除的时候需要强制)分支合并和rebase
C代码 gitmerge<branch>#将branch分支合并到当前分支gitmergeorigin/master--no-ff#不要Fast-Foward合并,这样可以生成merge提交gitrebasemaster<branch>#将masterrebase到branch,相当于:gitco<branch>&&gitrebasemaster&&gitcomaster&&gitmerge<branch>Git补丁管理(方便在多台机器上开发同步时用)
C代码 gitdiff>../sync.patch#生成补丁gitapply../sync.patch#打补丁gitapply--check../sync.patch#测试补丁能否成功Git暂存管理
C代码 gitstash#暂存gitstashlist#列所有stashgitstashapply#恢复暂存的内容gitstashdrop#删除暂存区Git远程分支管理
C代码 gitpull#抓取远程仓库所有分支更新并合并到本地gitpull--no-ff#抓取远程仓库所有分支更新并合并到本地,不要快进合并gitfetchorigin#抓取远程仓库更新gitmergeorigin/master#将远程主分支合并到本地当前分支gitco--trackorigin/branch#跟踪某个远程分支创建相应的本地分支gitco-b<local_branch>origin/<remote_branch>#基于远程分支创建本地分支,功能同上gitpush#push所有分支gitpushoriginmaster#将本地主分支推到远程主分支gitpush-uoriginmaster#将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)gitpushorigin<local_branch>#创建远程分支,origin是远程仓库名gitpushorigin<local_branch>:<remote_branch>#创建远程分支gitpushorigin:<remote_branch>#先删除本地分支(gitbr-d<branch>),然后再push删除远程分支基本的分支管理
C代码 #创建一个分支gitbranchiss53#切换工作目录到iss53gitchekcoutiss53#将上面的命令合在一起,创建iss53分支并切换到iss53gitchekcout–biss53#合并iss53分支,当前工作目录为mastergitmergeiss53#合并完成后,没有出现冲突,删除iss53分支gitbranch–diss53#拉去远程仓库的数据,语法为gitfetch[remote-name]gitfetch#fetch会拉去最新的远程仓库数据,但不会自动到当前目录下,要自动合并gitpull#查看远程仓库的信息gitremoteshoworigin#建立本地的dev分支追踪远程仓库的develop分支gitcheckout–bdevorigin/developGit远程仓库管理
C代码 gitremote-v#查看远程服务器地址和仓库名称gitremoteshoworigin#查看远程服务器仓库状态gitremoteaddorigingit@github:robbin/robbin_site.git#添加远程仓库地址gitremoteset-urlorigingit@:robbin/robbin_site.git#设置远程仓库地址(用于修改远程仓库地址)gitremoterm<repository>#删除远程仓库创建远程仓库
C代码 gitclone--barerobbin_siterobbin_site.git#用带版本的项目创建纯版本仓库scp-rmy_project.gitgit@:~#将纯仓库上传到服务器上mkdirrobbin_site.git&&cdrobbin_site.git&&git--bareinit#在服务器创建纯仓库gitremoteaddorigingit@:robbin/robbin_site.git#设置远程仓库地址gitpush-uoriginmaster#客户端首次提交gitpush-uorigindevelop#首次将本地develop分支提交到远程develop分支,并且trackgitremoteset-headoriginmaster#设置远程仓库的HEAD指向master分支 也可以命令设置跟踪远程库和本地库 C代码 gitbranch--set-upstreammasterorigin/mastergitbranch--set-upstreamdeveloporigin/develop如果觉得《查看linux系统常用的命令 Linux查看系统配置常用命令》对你有帮助,请点赞、收藏,并留下你的观点哦!