ls
我在 MacOS 11.6.1 上使用。在输出中,大写字母显示在小写字母之前。例如,我得到以下输出:
$ ls
Blabla.txt
GAGAS.txt
asdf.txt
blabla.txt
并希望有:
$ ls
asdf.txt
blabla.txt
Blabla.txt
GAGAS.txt
这是正常的默认输出吗ls
?我怎样才能得到输出数字2?
ls
我在 MacOS 11.6.1 上使用。在输出中,大写字母显示在小写字母之前。例如,我得到以下输出:
$ ls
Blabla.txt
GAGAS.txt
asdf.txt
blabla.txt
并希望有:
$ ls
asdf.txt
blabla.txt
Blabla.txt
GAGAS.txt
这是正常的默认输出吗ls
?我怎样才能得到输出数字2?
我有一个 zsh 脚本,用它登录远程主机来复制一些文件夹。系统每次都会要求我提供我想要绕过的本地主机的密码,否则我必须多次输入密码。
我遵循以下教程: https://www.thegeekstuff.com/2008/06/perform-ssh-and-scp-without-entering-password-on-openssh/
它曾经起作用过,但后来就不起作用了。我按照以下步骤操作(并再次按照这些步骤操作了很多次),但现在它不再起作用了。
[local-host]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):<Hit enter>
Enter passphrase (empty for no passphrase): <Enter your passphrase here>
Enter same passphrase again:<Enter your passphrase again>
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
31:3a:5d:dc:bc:81:81:71:be:31:2b:11:b8:e8:39:a0 jsmith@local-host
然后,我从本地主机复制公钥的内容并将其粘贴到/home/jsmith/.ssh/authorized_keys
远程主机上并运行:
[remote-host]$ chmod 755 ~/.ssh
[remote-host]$ chmod 644 ~/.ssh/authorized_keys
但如果我再次尝试登录,
[local-host]$ ssh jsmith remote-host
但不是有以下消息:
Enter passphrase for key '/home/jsmith/.ssh/id_rsa': <Enter your passphrase here>
Last login: Sat Jun 07 2008 23:03:04 -0700 from 192.168.1.102
No mail.
我明白了:
jsmith remote-host's password:
我究竟做错了什么?
编辑
非常感谢您的回答和评论,我将尽力逐点解决:
-l
,我确实没有使用,但我使用了ssh jsmith@remote-host
[local-host]$ eval $(ssh-agent -s)
Agent pid 96546
[local-host]$ env | grep SSH
SSH_AUTH_SOCK=/var/folders/jq/yyp9q2fs1z5780k9l1_2ph4r0000gn/T//ssh-9ew9mjQCJWFK/agent.96545
SSH_AGENT_PID=96546
编辑2
然后我尝试了以下方法
[local-host]$ ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Bad passphrase, try again for .ssh/id_rsa:
编辑3
好的,远程计算机和本地计算机上的整个权限树如下:
/var/services/homes/user01/.ssh/
每个分支的权限如下(使用ls -ld <directory>
和ls -la <file>
命令(从下往上):
对于远程机器:
drwxr-xr-x 1 user01 users 0 Oct 3 16:44 .ssh
drwxrwxrwx+ 1 user01 users 90 Oct
lrwxrwxrwx 1 root root 14 Oct 4 09:07 homes -> /volume1/homes
drwxr-xr-x 2 root root 4096 Oct 4 09:07 services
drwxr-xr-x 15 root root 4096 Oct 4 09:07 var
对于本地机器:
drwx------ 7 user02 staff 224B Oct 4 09:27 .ssh/
drwxr-xr-x+ 152 user02 staff 4.8K Oct 4 09:27 user02/
drwxr-xr-x 6 root admin 192B Jan 1 2020 /Users/
你知道我下一步应该做什么吗?
提前谢谢了
我想列出包含模式的文件,而不输出包含模式的行。我认为可以使用grep
. 在这个意义上我应该如何使用grep
?例如,以下命令给出所有文件中包含“stringpattern”(不区分大小写)的所有行.txt
。我只想拥有文件的名称(±行号)。
grep -ni stringpattern *.txt
理想情况下,如果字符串/模式在一个文件中多次出现,我希望该文件有多行输出。
我正在使用pass
我觉得非常方便的应用程序。我想更改关键词(母亲密码)。我查看了那里的手册页,但我不确定该怎么做。我必须使用init
命令吗?是否可以在不从头开始重新初始化通行证存储的情况下更改密码?如果是,应该执行哪个确切的命令?
我从评论中尝试了以下内容:
非常感谢您的评论
所以我做了以下事情:
$ gpg --list-secret-keys
/Users/user/.gnupg/pubring.kbx
-------------------------------
sec ....
....
uid [ultimate] firstnamelastname <[email protected]>
ssb ...
sec ....
....
uid [ultimate] Firstname Lastname <[email protected]>
ssb ...
注意邮箱地址是一样的
没有文件 ~/.gnupg/gpg.conf。我创建了一个并default-key firstnamelastname
在其中写入并获取它,但得到了
gpg.conf:1: command not found: default-key
我有一个目录,其中包含以下文件集:
cheatsheetold.aux
cheatsheetold.log
cheatsheetold.out
cheatsheetold.pdf
cheatsheetold.synctex.gz
cheatsheetold.tex
cheatsheetnew.aux
cheatsheetnew.log
cheatsheetnew.out
cheatsheetnew.pdf
cheatsheetnew.synctex.gz
cheatsheetnew.tex
我想要做的是删除所有cheetsheetold.
cheatsheetold.aux
cheatsheetold.log
cheatsheetold.out
cheatsheetold.pdf
cheatsheetold.synctex.gz
cheatsheetold.tex
不接触cheatsheetnew
cheatsheetnew.aux
cheatsheetnew.log
cheatsheetnew.out
cheatsheetnew.pdf
cheatsheetnew.synctex.gz
cheatsheetnew.tex
我已经看过this other question,但它并没有解决问题,因为两个文件名都有一套完整的扩展名