linux(mac)小技巧集锦,持续更新中......

访达路径复制(mac)

快捷键 ⌥⌘C option+command+c

身份不明开发者(mac)

打开系统偏好设置—安全性与隐私-通用,如果你发现在允许安装app的设置的地方,只有两个选项。

20220510152853

那么就进行下一步,否则你就偷着乐吧

我们需要先关闭设置,然后打开终端(如果有不知道终端在哪的,command+空格,输入terminal,然后打开)

将下面这条命令复制进去,然后回车执行sudo spctl --master-disable

再次打开我们亲爱的系统设置你会看到

20220510153217

选择任何来源即可

ossfs使用方法

echo bucket-test:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs bucket-test /tmp/ossfs -o url=http://oss-cn-hangzhou.aliyuncs.com -o allow_other -o uid=1000 -o gid=1000

卸载:umount /tmp/ossfs

查看发行版和版本号

uname -a (Linux查看版本当前操作系统内核信息)

cat /proc/version (Linux查看当前操作系统版本信息)

cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)

cat /proc/cpuinfo lscpu (Linux查看cpu相关信息,包括型号、主频、内核信息等)

getconf LONG_BIT (Linux查看版本说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)

上一条命令代替符

  1. 上方向键 上一条命令覆盖当前输入
  2. !! 代表上1条命令
  3. 输入 !-n 上n条命令
  4. 按 Ctrl+P 上一条命令字串复制到当前光标处
  5. 使用上一条命令的所有参数!*
  6. 使用上一条命令的最后一个参数!$
  7. 使用上一条命令中除了最后一个参数的部分!-
  8. 上一次目录cd -

根据历史命令前缀查找补全命令

vim ~/.bashrc添加:

if [[ $- == *i* ]]
then
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
fi

core file size设置

core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生core文件,其实准确的应该说是core dump 文件,默认生成位置与可执行程序位于同一目录下,文件名为core.***,其中***是某一数字。

Linux对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况, 设置个Linux用户的最大进程数,一些需要设置为无限制: 数据段长度:ulimit -d unlimited 最大内存大小:ulimit -m unlimited 堆栈大小:ulimit -s unlimited

#查看core文件生成功能是否打开,如下若是0,则表示没有打开。
[root@localhost ~]# ulimit -c
0

#临时设置(如下设置2G,单位为kbyte)
#如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此core文 件的时候,gdb会提示错误。
[root@localhost ~]# ulimit -c 4194304

#永久设置
[root@localhost ~]# echo " * soft core 4194304" >> /etc/security/limits.conf
[root@localhost ~]# echo " * hard core 4194304" >> /etc/security/limits.conf

[root@localhost ~]# ulimit -a
core file size (blocks, -c) 4194304
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15189
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 102400
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

#ulimit -c unlimited,则表示core文件的大小不受限制
[root@localhost ~]# ulimit -c unlimited

在core文件所在目录下键入: [root@localhost ~]# gdb -c core (-c指定core文件) 它会启动GNU的调试器,来调试core文件,并且会显示生成此core文件的程序名,中止此程序的信号等等

如果你已经知道是由什么程序生成此core文件的,比如MyServer崩溃了生成core.12345,那么用此指令调试: [root@localhost ~]# gdb -c core MyServer

/proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展。文件内容为1,表示添加pid作为扩展名, 生成的core文件格式为core.xxxx;为0则表示生成的core文件同一命名为core。 可通过以下命令修改此文件: # echo "1" > /proc/sys/kernel/core_uses_pid

/proc/sys/kernel/core_pattern可以控制core文件保存位置和文件名格式。 可通过以下命令修改此文件,可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳 sudo bash -c 'echo "./core.%p" > /proc/sys/kernel/core_pattern'

以下是参数列表: %p - insert pid into filename 添加pid %u - insert current uid into filename 添加当前uid %g - insert current gid into filename 添加当前gid %s - insert signal that caused the coredump into the filename 添加导致产生core的信号 %t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间 %h - insert hostname where the coredump happened into filename 添加主机名 %e - insert coredumping executable name into filename 添加命令名

yum彻底卸载依赖

yum命令安装软件包时会自动依赖包,但yum remove子命令只卸载该软件包而不能卸载依赖。

如果需要删除安装时自动安装的依赖包,则可以使用yum history子命令回滚安装事务以达到目的。

yum history查看所有事务

yum history info 3查看某一事务详情

yum history undo 3回滚事务

这样就可以消除某次操作了

chmod

chown user:group file
chown -R user *
chmod +x file

find

find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、时间、inode 号等来搜索文件。但是 find 命令是直接在硬盘中进行搜索的,如果指定的搜索范围过大,find命令就会消耗较大的系统资源,导致服务器压力过大。所以,在使用 find 命令搜索时,不要指定过大的搜索范围。

find 搜索路径 [选项] 搜索内容

-name: 按照文件名搜索; -iname: 按照文件名搜索,不区分文件名大小; -inum: 按照 inode 号搜索; -size [+-]大小:按照指定大小搜索文件 -atime [+-]时间: 按照文件访问时间搜索 -mtime [+-]时间: 按照文改时间搜索 -ctime [+-]时间: 按照文件修改时间搜索 -perm [+-]权限:"-"是必须完全包含,才能找到;而"+"是只要包含任意一个指定权限,就可以找到。 -uid 用户 ID:按照用户 ID 査找所有者是指定 ID 的文件 -gid 组 ID:按照用户组 ID 査找所属组是指定 ID 的文件 -user 用户名:按照用户名査找所有者是指定用户的文件 -group 组名:按照组名査找所属组是指定用户组的文件 -nouser:査找没有所有者的文件 -type d:查找目录 -type f:查找普通文件 -type l:查找软链接文件

-a:and逻辑与 -o:or逻辑或 -not:not逻辑非

-exec 命令2{}:把 find 命令的结果交给由"-exec"调用的命令 2 来处理。"{}"就代表 find 命令的査找结果 -ok 命令2{}:询问用户是否这样处理,在得到确认命令后,才会执行

centos安装最新版git

centos的rep里git版本是1.8,比较老。要安装2.x版本的git,一个方法是源码安装,这个没什么好说的

另一个方法是 安装新的rep,使用yum安装,比较推荐

yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm

sudo yum install git