Linux常用命令

##本文档主要为了记录和总结Linux环境各个常用命令用法。每一个命令分三部分罗列,包括命令功能作用、命令参数与格式、常用命令及其功能。只是为了查找方便,进行知识整合。

1、查看目录所占空间大小
du <目录路径> <参数>
du -h // 罗列当前目录各个子目录所占空间大小,并显示单位为 kb/mb/gb等等
du /opt -h // 罗列指定目录所占空间大小,并显示单位为 kb/mb/gb等等

2、删除用户组
groupdel <组名>
groupdel hello

3、创建用户组
groupadd // 添加用户组;
groupmod // 修改用户组信息
groups // 显示用户所属的用户组

4、单用户多任务、多用户多任务概念
单用户多任务:只有一个用户登录系统,并同时开启多个进程进行多任务处理
多用户多任务:同一台服务器,允许多个用户通过网络协议(telnet/ssh)访问,同时用户之间可以具有不同的权限,自己运行自身的进程。

5、获取系统信息
uname -a // 打印所有系统信息

6、查看系统当前所有进程运行情况
top // 实时动态刷新,包含所有进程信息
ps -ef // 显示当前系统所有进程信息 静态

7、查看磁盘分区
df -h // 查看磁盘分区,并显示单位
df -hT // 查看磁盘分区,并显示单位和文件系统类型
df -hT -t vfat // 只查看某一类型的磁盘分区
df -hT -x vfat // 只查看某一类型除外的磁盘分区

8、cal 查看月历和年历
cal <参数>
cal 2008
cal 9 2008

9、创建新用户
sudo useradd -m cclin // 创建一个新用户cclin,-d/-m指创建一个新目录
sudo passwd cclin // 为cclin用户设置密码
sudo userdel cclin // 删除用户
sudo usermod -s /bin/ksh -d /home/z –g developer cclin // 为cclin用户修改用户组、家目录、登陆的shell

10、Linux 3个关键文件:/etc/passwd、/etc/shadow、/etc/group

11、终端界面,鼠标选择文本相当于复制,中键 相当于粘贴

12、切换jdk版本
#!/bin/bash
echo “hello world”
echo “please select a version for jdk”
echo “config start”
sudo update-alternatives --config jdk
echo “config end”
echo "now,i am in the "
java -version

13、查看端口占用情况
netstat -anp|grep 80

14、chmod
chmod a+rwx Android -R // 递归查询文件全部添加 可读写 执行权限

15、使用’sudo apt autoremove’来卸载它(它们)

16、linux环境抓包命令
tcpdump -i eth1 // 监视指定网络接口的数据包
tcpdump tcp port 23 and host 210.27.48.1 // 获取主机210.27.48.1接收或发出的telnet包
tcpdump udp port 123 对本机的udp 123 // 端口进行监视 123 为ntp的服务端口

17、设置会话id命令 例子如下:
setsid(); // 功能:setsid()调用成功后,返回新的会话的ID,调用setsid函数的进程成为新的会话的领头进程,并与其父进程的会话组和进程组脱离。
pid_t pid = fork(); //fork a process
if (pid < 0) exit(0); //fork error
if (pid > 0) exit(0); //father process exit
setsid(); //creat a new session for a process
PS:之前parent和child运行在同一个session里,parent是会话(session)的领头进程,parent进程作为会话的领头进程,如果exit结束执行的话,那么子进程会成为孤儿进程,并被init收养。执行setsid()之后,child将重新获得一个新的会话(session)id。这时parent退出之后,将不会影响到child了。

18、防火墙的基本操作命令:
[root@localhost ~]# service iptables status // 查询防火墙状态
[root@localhost ~]# service iptables stop // 停止防火墙
[root@localhost ~]# service iptables start // 启动防火墙
[root@localhost ~]# service iptables restart // 重启防火墙
[root@localhost ~]# chkconfig iptables off // 永久关闭防火墙
[root@localhost ~]# chkconfig iptables on // 永久关闭后启用

19、关机命令
shutdown -h now --立即关机
shutdown -h 10:53 --到10:53关机,如果该时间小于当前时间,则到隔天
shutdown -h +10 --10分钟后自动关机
shutdown -r now --立即重启
shutdown -r +30 ‘The System Will Reboot in 30 Mins’ --30分钟后重启并并发送通知给其它在线用户

20、Linux命令之查询系统运行时间
f3@ubuntu:~/im$ uptime
10:20:55 up 10:32, 2 users, load average: 0.00, 0.00, 0.00

21、Linux命令之查看查看发行版信息
[root@VM_70_119_centos ~]# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)

[root@VM_70_119_centos ~]# cat /etc/os-release |grep VERSION
VERSION=“7 (Core)”
VERSION_ID=“7”
CENTOS_MANTISBT_PROJECT_VERSION=“7”
REDHAT_SUPPORT_PRODUCT_VERSION=“7”

22、Linux命令之查看内核
[root@VM_70_119_centos ~]# uname -a
Linux VM_70_119_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost etc]# cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016

23、查看cpu信息
[root@localhost etc]# cat /proc/cpuinfo

24、查看是64位还是32位
[root@VM_70_119_centos ~]# getconf LONG_BIT
64
[root@VM_70_119_centos ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

25、查看物理cpu个数
grep ‘physical id’ /proc/cpuinfo | sort -u

26、查看核心数量
grep ‘core id’ /proc/cpuinfo | sort -u | wc -l

27、查看线程数
grep ‘processor’ /proc/cpuinfo | sort -u | wc -l

28、查看MySQL版本
[root@VM_70_119_centos ~]# mysql --help | grep Distrib
mysql Ver 14.14 Distrib 5.7.13, for Linux (x86_64) using EditLine wrapper

29、Git命令
git log
git status
git branch -avv
git branch -d old_branch
git checkout -b new_branch
git plog
patch -p1 < my.patch // 打上一个补丁
patch -R -p1 < my.patch // 恢复原来的文件
git log -p -2 // -p 选项展开显示每次提交的内容差异,-2表示仅显示最近两次更新

git log --pretty="%cr %s "-5
git am ./patch-set/ *.patch // 应用多个补丁
git am --keep-non-patch *.patch // 应用补丁,不保持 [ ]字符。

git format-patch生成的.patch,默认不带 -k 参数,会生成带[PATCH 1/7]。
git am -k 保留方括号的内容 如【Gallery2】
git am --keep-non-patch 不管patch里带不带[PATCH],用都可以将我们需要的commit message完整的保存下来

git reset --soft commit
//根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:
git reset –mixed://此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft://回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard://彻底回退到某个版本,本地的源码也会变为上一个版本的内容
git rm -r --cached node_modules/ // 当前目录从版本库中删除
git tag  //查看tag
git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233    //在某个commit 上打tag
git push origin test_tag    //!!!本地tag推送到线上
git tag -d test_tag        //本地删除tag
git push origin :refs/tags/test_tag    //本地tag删除了,再执行该句,删除线上tag

30、vi命令:需要进入vi环境
/server //全局搜索server
这不是表情:s/server/client //搜索并替换当前行第一个server为client
:%s/server/client/ //搜索并替换每一行的第一个server为client
:%s/server/client/g //搜索并替换每一行的中所有的server为client

31、设置时间与网络同步:ntpdate cn.pool.ntp.org

32、更新node.js
npm install -g n
n lastest

33、安装cross-env
npm install --save cross-env

34、全词匹配搜索
grep -w “easydarwin”

35、Linux替换文件里所有字符串命令:
sed -i s/“2196F3”/“3C8DBC”/g grep "2196F3" -rl --include="*.*" ./

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值